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

Вставить в матрицу строку из нулей после первой из строк, количество нулей в которой равно заданному числу

20.10.2019, 12:58. Показов 1296. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан двумерный массив. Вставить в него строку из нулей после первой из строк, количество нулей в которой равно заданному числу.

Вот начал, что делать дальше - не знаю:

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
type massiv=array [,]of integer;
var a:massiv;
    n, m, i, j, k: integer;
begin
  write('Введите количество строк: ');
  readln(n);
  write('Введите количество столбцов: '); 
  readln(m);
  setlength(a,n,m);
  for i := 0 to n-1 do
    for j := 0 to m-1 do
    begin
      write('Введите ',j+1,' элемент ',i+1,' строки вашей матрицы: ');
      read(a[i,j]);
    end; 
  writeln('Исходный массив: ');
  for i := 0 to n-1 do
  begin
    for j:= 0 to m-1 do
      write(a[i, j]:4,' ');
      writeln;
  end;
  write('Введите k - количество нулей в строке: ');
  read(k);
  if (k<0) or (k=0) then 
    write('Ошибка ввода k!')
  else
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.10.2019, 12:58
Ответы с готовыми решениями:

В матрицу вставить строку из нулей после первой из строки, количество нулей в которой равно m
Помогите пожалуйста! дан двумерный массив.вставить в него строку из нулей после первой из строк.количество нулей которых равно m паскаль

Вставить в матрицу строку из нулей после всех строк, номер которых кратен трем
Задача: Дан двумерный массив из 15 строк. Вставить в него строку из нулей после всех строк, номер которых равен трем Вопрос: в чем...

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

9
 Аватар для kotAV
142 / 108 / 57
Регистрация: 15.09.2017
Сообщений: 425
20.10.2019, 14:32
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
begin
  var matrix := MatrRandom(5, 5, -5, 5).Println;
  
  var строки_матрицы := matrix.Rows.ToArray;
  var заданное_число := ReadInteger;
  
  var нужная_строка := строки_матрицы.FirstOrDefault(x -> x.Count(y -> y = 0) = заданное_число);
  
  if (нужная_строка <> nil) then
  begin
    var index := строки_матрицы.IndexOf(нужная_строка);
    if index < строки_матрицы.Length - 1 then
      matrix.SetRow(index + 1, new integer[matrix.ColCount]);
  end;
  
  matrix.Println
end.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.10.2019, 15:02
Что-то ничего не вставило после последней строки где 2 ноля.
Code
1
2
3
4
5
6
 
   5   2   5  -3   1
  -2  -4  -1   5   3
  -1   4   2   4  -3
  -4  -5   2  -2   2
   0   1   4   3   0
2
Code
1
2
3
4
5
6
 
   5   2   5  -3   1
  -2  -4  -1   5   3
  -1   4   2   4  -3
  -4  -5   2  -2   2
   0   1   4   3   0
0
 Аватар для kotAV
142 / 108 / 57
Регистрация: 15.09.2017
Сообщений: 425
20.10.2019, 15:42
Puporev, тогда нужно менять размер исходной матрицы, об этом в задании ничего не сказано, но если что, то проверку легко добавить
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.10.2019, 15:45
Если нужно вставить строку, то их в итоге будет на 1 больше если будет строка с количеством нолей=m, это нужно предусмотреть.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
20.10.2019, 15:51
DEVlL, должна ли матрица расширяться при вставке после последней строки?
0
0 / 0 / 0
Регистрация: 11.04.2019
Сообщений: 11
20.10.2019, 17:50  [ТС]
Да, должна расширяться.
0
 Аватар для kotAV
142 / 108 / 57
Регистрация: 15.09.2017
Сообщений: 425
20.10.2019, 17:58
DEVlL,
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
begin
  var matrix := MatrRandom(5, 5, -5, 5).Println;
  
  var строки_матрицы := matrix.Rows.ToArray;
  var заданное_число := ReadInteger;
  
  var нужная_строка := строки_матрицы.FirstOrDefault(x -> x.Count(y -> y = 0) = заданное_число);
  
  if (нужная_строка <> nil) then
  begin
    var index := строки_матрицы.IndexOf(нужная_строка);
    
    if index = строки_матрицы.Length - 1 then
    begin
      var matrix2 := new integer[matrix.RowCount + 1, matrix.ColCount]; //возможно для копирования матрицы с расширением есть встроенная подпрограмма, если так, то я её не знаю
      for var i := 0 to matrix.RowCount - 1 do
        for var j := 0 to matrix.ColCount - 1 do
          matrix2[i, j] := matrix[i, j];
      matrix := matrix2;
    end;
    
    if index < строки_матрицы.Length then
      matrix.SetRow(index + 1, new integer[matrix.ColCount])
  end;
  
  matrix.Println
end.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.10.2019, 18:04
Нехорошо с вспомогательной матрицей.
0
 Аватар для kotAV
142 / 108 / 57
Регистрация: 15.09.2017
Сообщений: 425
20.10.2019, 19:00
SetLength внутри себя то же самое делает всё равно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2019, 19:00
Помогаю со студенческими работами здесь

Вставить в матрицу строку из нулей после всех строк, номер которых кратен трем
Дан Двумерный массив из 15 строк. Вставить в него строку из нулей после всех строк, номер которых кратен трем.

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

После первой строки, содержащей минимальный элемент, вставить строку из нулей
Дан двумерный массив А (n * m) После первой строки содержащей минимальный элемент вставить строку из нулевых элементов

Вставить в массиве после строк с максимальными элементами строку из нулей
Дан двумерный массив размером 6 * 7, заполненный случайным образом. Вставить после строк с максимальными элементами строку из нулей

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru