Se citeste din fisierul date.in de pe prima linie un numar natural n ,iar de pe linia urmatoare un sir de n numere intregi. Sa se afiseze in date.out nr prime din sir ,iar daca nu sunt sa se afiseze un mesaj adecvat. Va rog ajutati-ma am nevoie maine! Rog seriozitate am facut ceva ,dar trebuie sa merg la meditatii si nu mai am timp sa termin! FUNDA!
Răspunsuri la întrebare
Răspuns de
3
Nu e super greu.
De citit si scris in fisier te las pe tine sa faci, eu iti dau idea programului.
O sa iti atasez o rezolvare ceva mai avansata si o sa iti explic putin unde probabil ca nu stii.
1. Nu e tocmai bine sa folosesti using namespace std, e mai ok sa specifici doar ce anume ai nevoie din std, asa cum am facut eu acolo, pentru ca tu de namespace std nu ai nevoie decat pt un cin si cout si endl.
2. in caz ca nu ai mai auzit de bool, e un tip de variabila, ca int sau char, doar ca poate lua valori true sau false, (sau 1 si 0).
3. Pur si simplu am luat la rand numerele cu un for, il verific pe fiecare daca e prim, si daca am gasit un prim atunci il afisam sau scriem in fisier dupa nevoie.
4. O mica smecherie matematica este ca pentru a verifica daca un nr e prim, nu e nevoie sa verifici decat divizori de la 2 pana la radical din acel numar, si aia am facut si eu acolo, sqrt e radicalul, radacina patratat ,sqrt vine de la square root. Floor iti aproximeaza un numar cu virgula la numarul intreg inferior(din 1,54 face 1, din 3,35 face 3, din 5,7 face 5 etc.) asa ca am mers pur si simplu de la 2 pana la radical si am verificat daca numarul are sau nu divizori.
5. Cand am gasit un divizor stiu clar ca nu e prim asa ca nu are rost sa mai stau sa vad daca mai are si altii, imi pun variabila isPrime pe fals si cu break ies din for-ul in care sunt.
Asta face break, iese din primul for/while in care esti.
De citit si scris in fisier te las pe tine sa faci, eu iti dau idea programului.
O sa iti atasez o rezolvare ceva mai avansata si o sa iti explic putin unde probabil ca nu stii.
1. Nu e tocmai bine sa folosesti using namespace std, e mai ok sa specifici doar ce anume ai nevoie din std, asa cum am facut eu acolo, pentru ca tu de namespace std nu ai nevoie decat pt un cin si cout si endl.
2. in caz ca nu ai mai auzit de bool, e un tip de variabila, ca int sau char, doar ca poate lua valori true sau false, (sau 1 si 0).
3. Pur si simplu am luat la rand numerele cu un for, il verific pe fiecare daca e prim, si daca am gasit un prim atunci il afisam sau scriem in fisier dupa nevoie.
4. O mica smecherie matematica este ca pentru a verifica daca un nr e prim, nu e nevoie sa verifici decat divizori de la 2 pana la radical din acel numar, si aia am facut si eu acolo, sqrt e radicalul, radacina patratat ,sqrt vine de la square root. Floor iti aproximeaza un numar cu virgula la numarul intreg inferior(din 1,54 face 1, din 3,35 face 3, din 5,7 face 5 etc.) asa ca am mers pur si simplu de la 2 pana la radical si am verificat daca numarul are sau nu divizori.
5. Cand am gasit un divizor stiu clar ca nu e prim asa ca nu are rost sa mai stau sa vad daca mai are si altii, imi pun variabila isPrime pe fals si cu break ies din for-ul in care sunt.
Asta face break, iese din primul for/while in care esti.
Anexe:
lucabostangiu:
Ai putea sa faci un program mai simplu te rog??? Am invatat doar while,for,if,cout,cin si chestii de baza....
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă