М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ivolapseb
ivolapseb
12.04.2021 16:27 •  Информатика

Дана матрица размерностью nxn найти дана матрица размерностью nxn найти минимальный элемент среди элементов расположенных над главной диагональю матрицы. найти квадрат разности среди арифметических значений элементов матрицы ,находящихся ниже и выше главной диагонали

👇
Ответ:
asanali2288
asanali2288
12.04.2021
Const n=3;
var a:array[1..n,1..n] of integer;
i,j,min,s:integer;
upsr,downsr,k:real;
begin
for i:=1 to n do
for j:=1 to n do a[i,j]:=random(10);
for i:=1 to n do begin
for j:=1 to n do write(a[i,j]:5);
writeln;
end;
min:=a[1,1];
s:=0;
for i:=1 to n do
for j:=1 to n do begin
if (a[i,j]<min) and (j>i) then min:=a[i,j];
end;
for i:=1 to n do
for j:=1 to n do
if i<j then s:=s+a[i,j]; upsr:=s/((sqr(n)-n)/2);
s:=0;
for i:=1 to n do
for j:=1 to n do
if i>j then s:=s+a[i,j];
downsr:=s/((sqr(n)-n)/2);
k:=sqr(downsr-upsr);
writeln('минимальный элемент выше главной диагонали ',min);
writeln('среднее арифметическое элементов выше главной диагонали ',upsr);
writeln('среднее арифметическое элементов ниже главной диагонали ',downsr);
writeln('квадрат разности средних арифметических значений элементов матрицы ',k);
end.
4,4(65 оценок)
Открыть все ответы
Ответ:
Элайза5
Элайза5
12.04.2021
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2).
Сделать это можно так:
while not eof(fr) and (kol=0) do
begin
read(fr, Marshrut);
if (Marshrut.NK.N <> '11')
   then write(fr2,Marshrut)
   else begin inc(kol); y:=Marshrut; end;
end;
if not eof(fr) then
  begin
  read(fr, Marshrut);
  write(fr2,Marshrut);
  end;
if (kol=1) then  write(fr2,y);
Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).

Попробуйте ещё вот такой вариант:
(здесь k1 и k2 - целые, а y - типа )
if (Marshrut.NK.N = '11') then
begin
writeln('... ');
inc(kol);
y:=Marshrut;
k1:=FilePos(fr)-1;
k2:=FilePos(fr);
if not eof(fr) then
 begin
 read(fr, Marshrut);
 seek (fr, k1);
 write(fr, Marshrut);
 seek (fr, k2);
 write (fr, y);
 end;

end;
4,4(12 оценок)
Ответ:
Zadrot233
Zadrot233
12.04.2021
Информационные процессы:
получение - учитель вам рассказывает новую тему, прослушивание лекций в университете
создание - открытие Ньютоном новых законов, создание таблицы Менделеевым
сбор - чтение книг в школьной библиотеке
обработка - осмысление полученных знаний в школе
накопление - запоминание формул на уроке математики, запись лекций в тетрадь
хранение - память о каком-либо произведении
поиск - поиск номера телефона в контактах, поиск вашего местоположения на карте метро
распространение - включение музыки по радио, печатание новостей в газетах, показ телепередач по ТВ
использование - решение задач с использованием формул, использование таблицы Менделеева для решения химических реакций
4,7(58 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ