ruslan
?>

Написать программу которая находит количество 3значных чисел красных 3 или кратных 15 числа вводятся самостоятельно но перед этим должны вводить количество​. , с объяснением

Информатика

Ответы

Berezovskaya
Конечно, на основе функций решение было бы элегантнее, но требовались процедуры...

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

procedure GetMax(a:array[,] of integer; var mr,mc:array of integer);
// максимумы по строкам mr и столбцам mc
begin
  mr:=a.Rows.Select(r->r.Max).ToArray;
  mc:=a.Cols.Select(c->c.Max).ToArray;
end;

procedure MatrSort(a:array[,] of integer);
// сортировка срок по первой колонке
begin
  for var i:=0 to a.RowCount-2 do
    for var k:=0 to a.RowCount-2-i do
      if a[k,0]>a[k+1,0] then a.SwapRows(k,k+1);
end;

procedure IsCont(n:integer; a:array [,] of integer; var res:boolean);
// есть ли элемент n в массиве a?
begin
  res:=a.ElementsByRow.Contains(n)
end;

begin
  var n:=ReadInteger('Количество строк в массиве:');
  var m:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** Исходный массив [',n,',',m,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var vr:=new integer[n];
  var vc:=new integer[m];
  GetMax(a,vr,vc);
  Write('Вектор максимумов по строкам: '); vr.Println;
  Write('Вектор максимумов по столбцам: '); vc.Println;
  MatrSort(a);
  Writeln('*** отсортированный массив ***');
  a.Println(4); Writeln(4*a.ColCount*'-');
  var k:=ReadInteger('Введите значение элемента для поиска:');
  var q:boolean;
  IsCont(k,a,q);
  if q then Writeln('Массив содержит введенное значение')
  else Writeln('Массив не содержит введенного значения')
end.

Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 7
*** Исходный массив [4,7] ***
 -96  63   6 -96 -21 -61 -54
  31 -20  63 -48  70  13  48
  72 -27 -68 -52  32  15 -58
 -71 -86  45  49  40 -64  -2

Вектор максимумов по строкам: 63 70 72 49
Вектор максимумов по столбцам: 72 63 63 49 70 15 48
*** отсортированный массив ***
 -96  63   6 -96 -21 -61 -54
 -71 -86  45  49  40 -64  -2
  31 -20  63 -48  70  13  48
  72 -27 -68 -52  32  15 -58

Введите значение элемента для поиска: 70
Массив содержит введенное значение
АртакСергеевич1723
Var
  a, b, c, d, e, f, g, h, i, j, x, y: integer; 
begin
  write('введите 10 чисел: ');
  read(a, b, c, d, e, f, g, h, i, j);
  if a < 0 then y := y + 1 else x := x + 1;
  if b < 0 then y := y + 1 else x := x + 1;
  if c < 0 then y := y + 1 else x := x + 1;
  if d < 0 then y := y + 1 else x := x + 1;
  if e < 0 then y := y + 1 else x := x + 1;
  if f < 0 then y := y + 1 else x := x + 1;
  if g < 0 then y := y + 1 else x := x + 1;
  if h < 0 then y := y + 1 else x := x + 1;
  if i < 0 then y := y + 1 else x := x + 1;
  if j < 0 then y := y + 1 else x := x + 1;
  writeln('количество положительных чисел: ', x);
  writeln('количество отрицательных чисел: ', y);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу которая находит количество 3значных чисел красных 3 или кратных 15 числа вводятся самостоятельно но перед этим должны вводить количество​. , с объяснением
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Морозов
Мария-Кострыгина175
irohmichaelchikaodiri
zdl2008
sakalrip
gorod7
Olesyamilenina8
Юрьевна174
karpovaveronika196
dimaproh
Surkova_Pavlovna
Yelena Kotova
ekaterinava90
kizyaev6651
Ka-tja78