В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
mixaqwer
mixaqwer
17.04.2020 19:48 •  Информатика

Найти ошибку в программе на паскаль авс вот : 1)дан типизированный файл, содержащий символы. скопировать элементы этого файла в квадратную матрицу размером n×n (если элементов файла недостает, заполнить оставшиеся элементы матрицы символом «точка»). заменить все столбцы на столбец с минимальной суммой кодов элементов. вот решение: type mas2=array[1..20, 1..20] of char; procedure create(var t: text; var n: byte; var a: mas2); var i, j: byte; begin write('введите размер матрицы: '); readln(n); for i: =1 to n do for j: = 1 to n do a[i, j]: = '.'; reset(t); i: =1; while not seekeof(t) and (i< =n) do begin j: =1; while not seekeof(t) and (j< =n) do begin read(t, a[i, j]); j: = j+1; end; i: =i+1 end end; procedure sum(var a: mas2); var i,j,m,n,sum,min,p,k: integer; t: char; begin min: =-maxint; for j: =1 to m do begin p: =0; min: =-maxint-1; for k: =j to m do begin sum: =0; for i: =1 to n do sum: =sum+ord(a[i,j]); if sum begin min: =sum; p: =k; end; end; for i: = 1 to n do begin t: =a[i,j]; a[i,j]: =a[i,p]; a[i,p]: =t; end; end; writeln(sum: 7,' '); end; procedure zam(var t: text; var n: byte; var a: mas2); var i, j: byte; begin for i: =1 to n do for j: = 1 to n do a[i, j]: = '1'; reset(t); i: =1; while not seekeof(t) and (i< =n) do begin j: =1; while not seekeof(t) and (j< =n) do begin read(t, a[i, j]); j: = j+1; end; i: =i+1 end end; procedure print(const n: byte; const a: mas2); var i, j: byte; begin for i: =1 to n do begin writeln; for j: =1 to n do write(a[i, j]: 5); end; writeln end; var t: text; a: mas2; n: byte; s: string; begin write('введите имя файла: '); readln(s); assign(t, s); create(t, n, a); writeln('исходная матрица: '); print(n, a); sum(a); zam(t,n,a); writeln; writeln; writeln; writeln('результирующая матрица: '); print(n, a); end.

Показать ответ
Ответ:
nicsiberia
nicsiberia
20.09.2020 06:40
Var   a: array[1..20,1..20] of integer;   n,m,i,j,min,jm,x: integer; begin   randomize;   write('Введите размеры массива: ');   readln(n,m);   writeln('Исходный массив:');   for i:=1 to n do   begin     for j:=1 to m do     begin       a[i,j]:=random(19)-9;       write(a[i,j]:4);     end;     writeln;   end;   min:=0;   for i:=1 to n do min:=min+a[i,1];   writeln('Сумма элементов 1-го столбца = ',min);   jm:=1;   for j:=2 to m do   begin     x:=0;     for i:=1 to n do       x:=x+a[i,j];     writeln('Сумма элементов ',j,'-го столбца = ',x);     if x<min then     begin       min:=x;       jm:=j;     end;   end;   writeln('Минимальная сумма в ',jm,'-м столбце');   writeln('Полученный массив:');   for i:=1 to n do   begin     for j:=1 to m do     begin       if j<>jm then a[i,j]:=a[i,jm];     write(a[i,j]:4);     end;     writeln;   end;   readln; end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота