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

Язык программирования паскаль abc! в матрице имеется столбец, в котором разность между максимальным элементом и средним арифметическим больше первого элемента. найти этот столбец, и заменить его элементы на единицу.

👇
Ответ:
Lizankanahovicyn
Lizankanahovicyn
30.05.2021
Const
  nm = 50;
  nn = 50;

type
  Mas=array[1..nm,1..nn] of integer;

procedure MatrixInit(var a:Mas;m,n,p,q:integer);
{ Заполнение массива размером m*n
  целыми случайными числами из интервала [p;q] }
var
  i,j,k:integer;
begin
  k:=q-p+1;
  for i:=1 to m do
    for j:=1 to n do a[i,j]:=Random(k)-p
end;

procedure MatrixOutput(var a:Mas;m,n,k:integer);
{ вывод элементов матрицы размера m*n в k позициях }
var
  i,j:integer;
begin
  for i:=1 to m do
  begin for j:=1 to n do Write(a[i,j]:k); Writeln end
end;

function IsFits(var a:Mas;m,col:integer):boolean;
{ функция возвращает true, если колонка col явдяется "подходящей" }
var
  i,max:integer;
  mv:real;
begin
  max:=a[1,col]; mv:=max;
  for i:=2 to m do
  begin
    mv:=mv+a[i,col];
    if max<a[i,col] then max:=a[i,col]
  end;
  mv:=mv/m;
  IsFits:=(max-mv>a[1,col])
end;

procedure ColumnReplace(var a:Mas;m,col:integer);
{ Замена элементов столбца col единицами }
var
  i:integer;
begin
  for i:=1 to m do a[i,col]:=1
end;

var
  P: Mas;
  a,b,m,n,j,k:integer;
  flag:boolean;
begin
  Randomize;
  Write('Введите количество строк и столбцов матрицы: ');
  Read(m,n);
  Write('Укажите минимальное и максимальной значение элементов: ');
  Read(a,b);
  Write('Укажите количество позиций для вывода значения элемента: ');
  Read(k);
  MatrixInit(P,m,n,a,b);
  Writeln('Исходный массив');
  MatrixOutput(P,m,n,k);
  j:=1;
  repeat
    flag:=IsFits(P,m,j);
    if flag then
    begin
      ColumnReplace(P,m,j);
      Writeln('Результирующий массив');
      MatrixOutput(P,m,n,k)
    end
    else Inc(j)
  until flag or (j>n);
  if not flag then
    Writeln('')
end.

Тестовое решение:
Введите количество строк и столбцов матрицы: 5 8
Укажите минимальное и максимальной значение элементов: 0 20
Укажите количество позиций для вывода значения элемента: 3
Исходный массив
 19  7  2 15  2 11  2 15
 12 16  8 14  6  8  1 17
 12 14 10  8  7 19  7  1
  0  9  0  7 18 10  2  5
 18  8  4  9 16 10 14 10
Результирующий массив
 19  7  1 15  2 11  2 15
 12 16  1 14  6  8  1 17
 12 14  1  8  7 19  7  1
  0  9  1  7 18 10  2  5
 18  8  1  9 16 10 14 10
4,5(92 оценок)
Открыть все ответы
Ответ:
nastyamashkanc
nastyamashkanc
30.05.2021

Program asd;

uses crt;

var a,b,c,max:integer; r:real;

begin

 Write('Введите число A: '); 

Readln(a);

 Write('Введите число B: '); 

Readln(b); 

Write('Введите число C: '); 

Readln(c); 

If  a>=b then max:=a

 else 

 max:=b;   

 If c>max then

max:=c; 

r:=a+b+c;

 If (A>B) and (B>C) and (C>0) then

 Writeln('A= ',a*2,' B= ',b*2,' C= ',c*2);

 If (A<0) and  (B<0) and (C<0) and (A<>B) and (B<>C) and (C<>A)  then

 begin   

A:=max;   

 B:=max; 

 C:=max; 

Writeln('A= ',a,' B= ',b,' C= ',c); 

  end   

else   

 Writeln('Symma: ',r);

end

Объяснение:

Program asd;

uses crt;

var a,b,c,max:integer; r:real;

begin

 Write('Введите число A: '); 

Readln(a);

 Write('Введите число B: '); 

Readln(b); 

Write('Введите число C: '); 

Readln(c); 

If  a>=b then max:=a

 else 

 max:=b;   

 If c>max then

max:=c; 

r:=a+b+c;

 If (A>B) and (B>C) and (C>0) then

 Writeln('A= ',a*2,' B= ',b*2,' C= ',c*2);

 If (A<0) and  (B<0) and (C<0) and (A<>B) and (B<>C) and (C<>A)  then

 begin   

A:=max;   

 B:=max; 

 C:=max; 

Writeln('A= ',a,' B= ',b,' C= ',c); 

  end   

else   

 Writeln('Symma: ',r);

end

4,8(10 оценок)
Ответ:
Mider123
Mider123
30.05.2021

print('Это действие будет повторяться 10 раз!')

print('Это действие будет повторяться 10 раз!')

print('Это действие будет повторяться 10 раз!')  

print('Это действие будет повторяться 10 раз!')

print('Это действие будет повторяться 10 раз!')

print('Это действие будет повторяться 10 раз!')

print('Это действие будет повторяться 10 раз!')

print('Это действие будет повторяться 10 раз!')

print('Это действие будет повторяться 10 раз!')

print('Это действие будет повторяться 10 раз!')

Объяснение:

Команда print отвечает за вывод текста, итого текст будет выводиться 10 раз

4,6(46 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ