oClasaAnonima Megaelev

Data inscrierii: 11/Apr/2008 Mesaje: 29
|
Trimis: 13.04.2008 14:04 Titlul subiectului: Problema 13 |
|
|
| Cod: |
{in fisierul numere.txt, se afla memorate, pe prima linie, doua numere naturale,
n si m despartite de un spatiu (1<=n<=10000 si m<=n), iar pe urmatoarea linie
a fisierului, n numere reale despatite prin cate un spatiu. scrieti programul
pascal care citeste din fisier datele existente si afiseaza pe cea de-a treiea
linie a fisierului, suma obtinuta din cele mai mari m elemente negative citite
din fisier. in cazul in care fisierul nu contine cel putin m numere negative,
se va afisa valoarea 0.}
program ex12;
var f:text;
x:array[1..10000] of integer;
n,m,i,j,k,l:integer;
s,t:integer;
ok:boolean;
begin
assign(f,'numere.txt'); reset(f);
read(f,n); readln(f,m);
k:=0;
for i:=1 to n do begin
read(f,t);
if t<0 then begin
k:=k+1;
x[k]:=t;
end;
end;
for i:=1 to k-1 do for j:=i+1 to k do if x[i]<x[j] then begin
t:=x[i];
x[i]:=x[j];
x[j]:=t;
end;
s:=0;
if k<m then writeln('s')
else for i:=1 to m do s:=s+x[i];
writeln(s);
end.
|
|
|