Показать сообщение отдельно
Старый 24.09.2011, 18:32   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от shrek=) Посмотреть сообщение
Определить, какой марки (makra) автомобилей больше всего.
Да, Миша - очень Вы меня огорчили. Да что с Вами? Вы же нормально раньше с подобными пустяками справлялись!
Ну ладно.
Прежде всего - я напрочь не понял, что такое teh и зачем там файл, а потому это отключил, чтобы не мешало. А один из возможных вариантов решения задачки таков:

Код:
type
 date=record
  num:string[20];
  marka:string[20];
  fam:string[20];
  {teh:byte; }
 end;
var
 sved:array[1..100] of date;
 k,n,i:integer;
 {f:text;}

 j,Jfix,Nm:Integer;
 Marks:Array[1..100] of string[20];
 N_marks:Array[1..100] of Byte;
 Max_marks:Byte;
 b:boolean;
begin
 {assign (f,'C:/3.txt');
 rewrite(f);  }
 write ('Enter n= ');
 readln(n);
 Nm:=0;
 for i:=1 to n do N_marks[i]:=1;
 for i:=1 to n do
  begin
   b:=true;
   write ('nomer= ');
   readln (sved[i].num);
   write ('marka= ');
   readln(sved[i].marka);
   For j:=1 to Nm do
    if Marks[j]=sved[i].marka then
     begin
      b:=false;
      Jfix:=j;
     end;
   If b then
    begin
     Inc(Nm);
     Marks[Nm]:=sved[i].marka;
    end
   else Inc(N_marks[Jfix]);
   write ('fam= ');
   readln(sved[i].fam);
  { write ('(0,1)teh=');
   readln (sved[i].teh);
   if sved[i].teh=0 then writeln (f,sved[i].num,'    ',sved[i].fam); }
   writeln;
  end;
 {close(f);  }
 Max_marks:=0;
 for j:=1 to Nm do
  begin
   Writeln(Marks[j],' ',N_marks[j]);
   if N_marks[j]>Max_marks then
    begin
     Max_marks:=N_marks[j];
     Jfix:=j;
    end;
  end;
 writeln;
 writeln('Maximum:');
 writeln(Marks[Jfix],' ',N_marks[Jfix]);
 readln;
end.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070