Показать сообщение отдельно

  #3372  
Старый 21.04.2009, 18:52
art2222
Участник форума
Регистрация: 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..
 
Ответить с цитированием