Пример использования двумерного массива(ввод, обработка, вывод) — Pascal(Паскаль)

program zavod;
const
     ZAV=3; 
     IZD=4;
 var 
     prod:array[1..ZAV+1,1..IZD+1] of integer;
      i:integer; { номер завода }
      j:integer; { номер изделия } 
begin 
     writeln('Ввод исходных данных.');
     for i:=1 to ZAV do
     begin
          writeln('Завод',i:2);
          for j:=1 to IZD do
               begin
                    write('Изделие',j:2,'->');
                    readln(prod[i,j]);
               end;
     end;

     { вычислим общее количество изделий,
       выпускаемых каждым заводом } 
     for i:=1 to ZAV do
           begin 
               prod [i,IZD+1]:= 0; {общее число изделий, }
                                   {произведенное i■ым заводом}
               for j:=1 to IZD do
                    prod [i,IZD+1]:= prod[i,IZD+1]+prod[i,j];
           end;
     
     { вычислим количество изделий одного наименования, 
       выпущенных всеми заводами }
     for j:=1 to IZD do
          begin
               prod [ZAV+1,j]:= 0;
               for i:=1 to ZAV do
                    prod [ZAV+1,j]:=prod[ZAV+1,j]+prod[i,j];
           end;

     { вывод итоговой таблицы }
writeln ('          1     2     3     4   Всего');
     for i:=1 to ZAV+1 do
          begin
               if i<=ZAV
                    then write('Завод ',i:2)
                    else write('Всего   ');
               for j:=1 to IZD+1 do
                    write(prod[i,j]:5);
               writeln;
          end;
end.

Leave a Comment