Составить программу ,которая на основе данных о ежемесячном количестве осадков,выпавших за прошедший год в странах 1-украина 2-Польша 3-болгария 4-германия 5-англия 6-италия ш 7-франция 8-швеция 9-испания 10-турция — Pascal(Паскаль)

а)наиболее засушливый месяц для каждой из стран
б)наиболее влажный месяц для каждой из стран!
с)суммарное кол-во осадков по каждому месяцу
д)месяц наиболее влажный и наиболее засушливый по всем странам

uses crt;
const
m=10;{количество стран}
n=12;{количество месяцев}
strana:array[1..m]of string[10]=('Украина','Польша','Болгария','Германия',
                    'Англия','Италия','Франция','Швеция','Испания','Турция');
mesyac:array[1..n]of string[10]=('Январь','Февраль','Март','Апрель','Май','Июнь',
                    'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
var a:array[1..m+1,1..n] of integer;{размер матрицы, одна строка дополнительно для суммы}
    i,j,jmn,jmx:byte;
    sm,mn,mx:integer;
begin
clrscr;
randomize;
for i:=1 to m do  {заполняем матрицу данными}
for j:=1 to n do
a[i,j]:=random(1000);{один метр осадков в месяц это вообще-то круто}
for j:=1 to n do
 begin
  sm:=0;
  for i:=1 to m do
  sm:=sm+a[i,j];
  a[m+1,j]:=sm;{в дополнительную строку записываем суммы по странам за месяц}
 end;
writeln('Матрица осадков:':50);{выводим матрицу для обзора}
writeln;
for i:=1 to m do
 begin
  write(strana[i]);
  gotoXY(10,whereY);
  for j:=1 to n do
  write(a[i,j]:5);
  writeln;
 end;
writeln;
write('Сумма');
gotoXY(10,whereY);
for j:=1 to n do
write(a[m+1,j]:5);
readln;
clrscr;
{находим минимальные значения в каждой строке}
writeln('Наиболее засушливые месяцы по странам:');
for i:=1 to m do
 begin
  mn:=a[i,1];jmn:=1;
  for j:=1 to n do
  if a[i,j]<mn then
   begin
    mn:=a[i,j];
    jmn:=j;
   end;
  writeln(strana[i]:10,' - ',mesyac[jmn]);
 end;
writeln;
{находим максимальные значения в строках матрицы}
writeln('Наиболее влажные месяцы по странам:');
for i:=1 to m do
 begin
  mx:=a[i,1];jmx:=1;
  for j:=1 to n do
  if a[i,j]>mx then
   begin
    mx:=a[i,j];
    jmx:=j;
   end;
  writeln(strana[i]:10,' - ',mesyac[jmx]);
 end;
readln;
clrscr;
{находим макс и мин в последней строке}
mn:=a[m+1,1];jmn:=1;
for j:=1 to n do
if a[m+1,j]<mn then
 begin
  mn:=a[m+1,j];
  jmn:=j;
 end;
writeln('Наиболее засушливый месяц по всем странам - ',mesyac[jmn]);
mx:=a[m+1,1];jmx:=1;
for j:=1 to n do
if a[m+1,j]>mx then
 begin
  mx:=a[m+1,j];
  jmx:=j;
 end;
writeln('Наиболее влажный месяц по всем странам - ',mesyac[jmx]);
readln
end.

Leave a Comment

96 − 89 =