
21.04.2009, 18:52
|
|
Участник форума
Регистрация: 28.04.2008
Сообщений: 172
С нами:
9492347
Репутация:
270
|
|
1. Формируем так:
Код:
var
f: textfile;
s: string;
i: Byte;
begin
AssignFile(f,'random.txt');
Rewrite(f);
Randomize;
for i:=1 to 36 do
WriteLn(f, IntToStr(Random(1000)));
CloseFile(f);
end;
Решаем:
Код:
var
f: textfile;
s: string;
i,j,max,num,tmp: Byte;
k: Integer;
matr : array [1..6,1..6] of Integer;
begin
AssignFile(f,'random.txt');
Reset(f);
num:=0; max:=0;
for i:=1 to 6 do
begin
tmp:=0;
for j:=1 to 6 do
begin
ReadLn(f,s);
k:=StrToInt(s):
//Тут все делается за один проход массива, но если нужно сначала
//сформировать, а потом добавить выдели следующее условие и подсчет в
//отдельный цикл и K замени на matr[i,j]
if k>0 then
begin
matr[i,j]:=0;
Inc(tmp);
end else matr[i,j]:=1;
matr[i,j]:=k;
end;
if tmp>max then
begin
max:=tmp;
//Тут будет номер строки.
num:=i;
end;
end;
CloseFile(f);
end;
2) Решение
Код:
var
i,sred,cnt: Integer;
arr : array [1..50] of Byte;
begin
Randomize;
for i:=1 to 50 do
begin
arr[i]:=Random(101);
sred:=sred+arr[i];
end;
sred = sred div 50;
cnt:=0; //Кол-во отрицательных
for i:=1 to 50 do
begin
arr[i]:=arr[i]-sred;
if arr[i]<0 then inc(cnt);
end;
end;
Сорри если будут ошибки, компилятора с собой нет.
Последний раз редактировалось art2222; 21.04.2009 в 19:40..
|
|
|