Помощь - Поиск - Пользователи - Календарь
Полная версия: одномерные массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Маргаритка
Мне задали огромную контрольную решить, я все задания решила кроме двух. Их я незнаю как решить. Помогите пожалуйста.

***
В области 10 районов. Известны площади, засеваемые пшеницей, и средняя урожайность (ц/га) в каждом районе. Определить количество пшеницы, собранное по каждому району и в по области в целом.

***
Японская радиокомпания провела опрос 250 радиослушателей по вопросу : "Какое животное Вы связываете с Японией и японцами ?". Составить программу получения пяти наиболее часто встречающихся ответов и их долей (в%).


Заранее благодарю!!!
arsen86
я не специалист вообщето, но вот что у меня получилось по первой задачи
Код

uses crt;
var
  field,ur:array[1..10] of real;
  i:integer;
  all:real;
begin
    clrscr;
    randomize;       {если не хочется нибивать 20 чисел из клавы}
    for i:=1 to 10 do
    begin
         field[i]:=random(200);   { Заполняем массивы случайными числами}
         ur[i]:=random(50);
    end;
    all:=0;
    writeln('Номер поля    Размер поля   Средняя урожайность  Урожай ');
    for i:=1 to 10 do
    begin
         writeln('    ',i,'         ',field[i]:10:3,'        ',ur[i]:13:3,'   ',field[i]*ur[i]:8:3);
         all:=all+field[i]*ur[i];
    end;
    writeln('Общий урожай по области ',all:15:3);
    readln;
end.
Флогримм
вроде работает... правда это не самое красивое решение...
Код
uses crt;
const n=11;{количество животных}
     m=5;{количество наиболее частовстречающихся ответов}
type five=record
    zoo: string;{название животного}
    count:byte;{количество повторений}
    end;

var i,j,k:byte;
   s:string;
   maxes:array[1..m]of five;{массив из частовстречающихся ответов}
   fv:array[1..n]of five;{массив названий}
begin
clrscr;
for i:=1 to n do
repeat
write(i, '> ');
readln(s);
fv[i].zoo:=s;
until s<>'';
writeln('***');

for i:=1 to n do write(i,')',fv[i].zoo:2,'; ');
writeln('***');

for i:=1 to n do{удаляем все повторяющиеся названия и в fv[i].count записываем сколько раз fv[i].zoo повторяется в списке}
if fv[i].zoo<>'' then
   for j:=i+1 to n do
   if (fv[i].zoo=fv[j].zoo)and(fv[i].zoo<>'') then
   begin
   inc(fv[i].count);
   fv[j].zoo:='';
   end;
writeln;
for i:=1 to n do if fv[i].zoo<>'' then inc( fv[i].count);

for i:=1 to m do{находим первые m частоповторяющихся названий}
begin
   for j:=1 to n do
   if fv[j].count>maxes[i].count then
      begin
      maxes[i].count:=fv[j].count;
      maxes[i].zoo:=fv[j].zoo;
      k:=j;
      end;
fv[k].count:=0;
fv[k].zoo:='';
writeln(maxes[i].zoo,' - ',maxes[i].count,'(',maxes[i].count*100/n:2:2,'%)');
end;
end.
Полина
THANK YOU!!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.