Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 16

Даны три целые матрицы размером nxm. Вывести на экран ту из них, где больше нулевых строк

19.11.2017, 18:57. Показов 2457. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа. Даны три целые матрицы размером nxm. Вывести на экран ту из них, где больше нулевых строк (если таких матриц несколько, вывести их все).

Пожалуйста расставьте вместо знаков ''?'' знаки сравнения так что бы выражение удовлетворяло условию (вывести на экран ту из них, где больше нулевых строк (если таких матриц несколько, вывести их все).

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var  A,B,C: mas;
 
//процедура ввода матрицы
procedure matinput(var X: mas);
var i,j: integer;
begin
  for i:= 1 to n do
    for j:= 1 to m do
      read(X[i,j])
end;
 
//процедура вывода матрицы
procedure matoutput(var X: mas);
var i,j: integer;
begin
  for i:= 1 to n do
    for j:= 1 to m do
      write(X[i,j],' ')
end;
 
//Функция подсчета количества нулевых строк в матрице  
function count(var X: mas): integer;
var i, j, k: integer;
    b: boolean;
begin
  k:= 0;
  for i:= 1 to n do
  begin
    b:= true;
    for j:= 1 to m do
      begin
        if X[i,j] <> 0 then
          break;
        if j = m then
          k:= k + 1
      end
  end;
  count:= k
end;
 
begin
  writeln('Введите матрицу A: ');
  matinput(A);
  writeln('Введите матрицу B: ');
  matinput(B);
  writeln('Введите матрицу C: ');
  matinput(C);
  
  if (count(A) ? count(B)) and (count(A) ? count(C)) then
    begin
      matoutput(?)
    end
  else 
  if (count(B) ? count(A)) and (count(B) ? count(C))
    then matoutput(?)
  else matoutput(?)
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.11.2017, 18:57
Ответы с готовыми решениями:

Даны три целые матрицы размером 9x4. Как вывести ту из них, где больше нулевых строк?
Даны три целые матрицы размером 9x4. Напечатать ту из них, где больше нулевых строк. Как вывести Напечатать ту из них, где больше...

Даны три целые матрицы размером 9х4. Напечатать ту из них, где больше нулевых строк
Даны три целые матрицы размером 9х4. Напечатать ту из них, где больше нулевых строк. ...

Даны три матрицы размером m*n, напечатать те из них, где больше нулевых строк
Вот такая вот задачка: &quot;Даны три матрицы размером m*n, напечатать те из них, где больше нулевых строк.&quot;

4
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
19.11.2017, 22:03
Pascal
49
50
51
52
53
54
55
56
  if (count(A) >= count(B)) and (count(A) >= count(C)) then
    begin
      matoutput(A)
    end
  else 
  if (count(B) > count(A)) and (count(B) > count(C))
    then matoutput(B)
  else matoutput(C)
0
0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 16
20.11.2017, 20:06  [ТС]
То что вы написали верно для случая, когда только в одной матрице строк больше чем в других, но не выполнено условие: (если таких матриц несколько, вывести их все). То есть если у меня одновременно в 2-х или 3-х матрицах одинаковое кол-во нулевых строк, то я должен вывести их всех. Если я не верно понял, пожалуйста объясните.
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
20.11.2017, 22:57
mirnyy, в чем проблема найти сначала макс количество, а потом написать три if'а которые проверяют чтоб в этой матрице было ровно столько нулевых строк?
0
0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 16
20.11.2017, 23:41  [ТС]
Проблема в том, что я туплю. У написана функция для подсчета количества нулевых строк в матрицах
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function count(var X: mas): integer;
var i, j, k: integer;
    b: boolean;
begin
  k:= 0;
  for i:= 1 to n do
  begin
    b:= true;
    for j:= 1 to m do
      begin
        if X[i,j] <> 0 then
          break;
        if j = m then
          k:= k + 1
      end
  end;
  count:= k
end;
Вопрос был в том как написать те самые три if'a, которые бы определяли какое из значений функции, а она выдает именно число k(количество строк), наибольшее, но я не знаю как описать случай, когда два или три числа одинаковые одновременно??))

Кстати там строчка b:= true лишняя.

Я напишу очень криво, Вы пожалуйста подскажите потом как можно улучшить, ок?)) Если конечно не затруднит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.11.2017, 23:41
Помогаю со студенческими работами здесь

Даны три целочисленные квадратные матрицы. Найти ту из них, где больше нулевых строк
Даны три целочисленные квадратные матрицы. Найти ту из них, где больше нулевых строк. Ввод матриц, вывод матриц на экран, поиск нулевых...

Даны три матрицы X,Y,Z. Распечатать ту из них в которой больше нулевых элементов
Даны три матрицы X,Y,Z. Распечатать ту из них в которой больше нулевых элементов. Если в матрицах есть нулевые элементы то всё работает, а...

Заданы 3 целые матрицы, напечатать ту из них, в которой больше нулевых строк
задано 3 целые матрицы размером 9 * 4 напечатать ту из них где больше нулевых строк Очень нужно!

Даны 2 матрицы размером m*n, напечатать ту из них, где больше нечетных чисел меньше 100.
Нужно написать такую программу: Даны 2 матрицы размером m*n, напечатать ту из них, где больше нечетных чисел меньше 100. Тема:процедуры...

Даны 2 матрицы размером m*n, напечатать ту из них, где больше нечетных чисел меньше 100.
1. Даны 2 матрицы размером m*n, напечатать ту из них, где больше нечетных чисел меньше 100. 2. Вычислить выражение, содержащее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru