in Informatica

Problema pentru atestat la infomatica Pasacal

Pentru varianta C/C++ puteti lasa un comentariu aici sau pe site-ul www.webmateinfo.com

Fisierul Atestat.txt contine cel mult 100 de numere naturale de cel mult 6 cifre fiecare , cate un numar pe fiecare linie a fisierului.Scrieti un program care:
a) afiseaza pe ecran toate numerele din fisier, cate 3 pe fiecare linie, numerele de pe o linie
fiind separate prin cate un spatiu, ultima linie ramanand eventual incompleta
b) afiseaza pe ecran, pe urmatoarea linie, suma numerelor prime din fisier
Exemplu:
Atestat.txt
5
6
8
7
4
3
3
Se afiseaza:
5 6 8
7 4 3
3
suma este:18

REZOLVARE:
Mai intaii trebuie sa creezi in directorul radacina ( BIN ) fisierul atestat.dat

program atestat1;
uses

crt;

var f,g:text;

nr,i,s,prim:integer;

begin

clrscr;
i:=0;
s:=0;
assign(f,’atestat.dat’);reset(f);
while not eof(f) do

begin

read(f,nr);
if nr mod 2 = 0 then

prim:=nr

else

begin

prim:=3;
while prim <=sqrt(nr) do

begin

if nr mod prim = 0 then

prim:=nr


else

prim:=prim+2;

end;

end;

if (prim <> nr) or (nr =3) then

s:=s+nr;

i:=i+1;
if (i mod 3 = 0)  then

writeln(‘ ‘,nr)

else

write(‘ ‘,nr);

end;
writeln;
write(‘suma numerelor prime este= ‘,s);
readkey;

end.

Voteaza acest articol

Add a Comment

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *