Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
2 / 2 / 3
Регистрация: 14.05.2009
Сообщений: 136

Перед строкой матрицы с номером К вставить строку из нулей (найти ошибку)

25.12.2009, 19:39. Показов 3449. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
const max=20;
var x:array[1..max,1..max]of integer;
m,n,i,j,k,t:integer;
begin
clrscr;
randomize;
repeat
write('vvedite kol-vo strok ot 1 do ',max,' =');
readln(m);
until m in [1..max];
repeat
write('vvedite kol-vo stolbcov ot 1 do ',max,' =');
readln(n);
until n in [1..max];
Writeln('Isxodna9 matrica:');
for i:=1 to m do
begin
for j:=1 to n do
begin
x[i,j]:=random(50)+10;
write(x[i,j]:4);
end;
writeln;
end;
writeln;
writeln('Vstavka nylei:');
repeat
write('Vvedite v kakyui stroku vstavl9t nyli ',n,' :');
readln(k);
until k in [1..n];
for j:=1 to n do
begin
for i:=m+1 downto k+2 do
x[i,j]:=x[i-1,j];
x[k+1,j]:=0;
end;
for i:=1 to m do
begin
for j:=1 to n+1 do
write(x[i,j]:4);
writeln;
end;
readln
end.
Условие задачи: Дана матрица размера МхN и целое число К(1<=K<=M). Перед строкой матрицы с номером К вставить строку из нулей.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.12.2009, 19:39
Ответы с готовыми решениями:

Перед строкой матрицы с номером K вставить строку из нулей
Дана матрица размера M × N и целое число K (1 ≤ K ≤ M). Перед строкой матрицы с номером K вставить строку из нулей. Можете помочь плииз?

Перед строкой матрицы с номером вставить строку из нулей
Дана матрица размера МхN и целое число К (1&lt;=K&lt;=M). Перед строкой матрицы с номером вставить строку из нулей.

Перед строкой матрицы с номером вставить строку из нулей
Дана матрица размера МхN и целое число К (1&lt;=K&lt;=M). Перед строкой матрицы с номером вставить строку из нулей. Написать программу в Free...

13
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300
25.12.2009, 20:01
Pascal
1
var x:array[1..max,1..max]of integer;
заміни на
Pascal
1
var x:array[1..m,1..n]of integer;
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
repeat
write('vvedite kol-vo strok ot 1 do ',max,' =');
readln(m);
until m in [1..max];
repeat
write('vvedite kol-vo stolbcov ot 1 do ',max,' =');
readln(n);
until n in [1..max]; 
оце заміни на 
write('vvedite kol-vo strok ot 1 do ',max,' =');
read(m);
write('vvedite kol-vo stolbcov ot 1 do ',max,' =');
read(n);
 
 
begin
x[i,j]:=random(50)+10;
write(x[i,j]:4);
end;
заміни на 
begin
write('x[',i,',',j,]=');
read(x[i,j]);
end;
 
repeat
write('Vvedite v kakyui stroku vstavl9t nyli ',n,' :');
readln(k);
until k in [1..n];
заміни на 
write('Vvedite v kakyui stroku vstavl9t nyli ',n,' :');
read(k);
1
2 / 2 / 3
Регистрация: 14.05.2009
Сообщений: 136
26.12.2009, 02:00  [ТС]
не хочу показатся глупым.. но что то непонятно расписали...

Добавлено через 29 минут
что ли выдели цветом желтым или оранжевым те строки которые надо переделать..
0
Босс
 Аватар для sheka
161 / 126 / 10
Регистрация: 03.06.2009
Сообщений: 750
26.12.2009, 02:12
Hovercat, это сделано так для ввода матрицы, размерности заданой пользователем в Run-Time
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.12.2009, 10:56
TORVALD, А просто самому навести порядок в программе, не путать количество строк и столбцов, вставлять не после, а перед, совсем уже лень?
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
uses crt;
const max=20;
var x:array[1..max,1..max]of integer;
m,n,i,j,k,t:integer;
begin
clrscr;
randomize;
repeat
write('vvedite kol-vo strok ot 1 do ',max,' =');
readln(m);
until m in [1..max];
repeat
write('vvedite kol-vo stolbcov ot 1 do ',max,' =');
readln(n);
until n in [1..max];
Writeln('Isxodna9 matrica:');
for i:=1 to m do
begin
for j:=1 to n do
begin
x[i,j]:=random(50)+10;
write(x[i,j]:4);
end;
writeln;
end;
writeln;
writeln('Vstavka nylei:');
repeat
write('Vvedite pered kakoj strokoj(1..',m,') vstavl9t nyli k=');
readln(k);
until k in [1..m];
for j:=1 to n do
 begin
  for i:=m+1 downto k do
  x[i,j]:=x[i-1,j];
  x[k,j]:=0;
 end;
for i:=1 to m+1 do
begin
for j:=1 to n do
write(x[i,j]:4);
writeln;
end;
readln
end.
0
2 / 2 / 3
Регистрация: 14.05.2009
Сообщений: 136
27.12.2009, 19:58  [ТС]
Дана матрица размера МхN и целое число К(1<=K<=M). Перед строкой матрицы с номером К вставить строку из нулей.
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
uses crt;
const max=20;
var x:array[1..max,1..max]of integer;
    m,n,i,j,k,t:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк от 1 до ',max,' m=');
readln(m);
until m in [1..max];
repeat
write('Количество столбцов от 1 до ',max,' n=');
readln(n);
until n in [1..max];
Writeln('Исходная матрица:');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    x[i,j]:=random(50)+10;
    write(x[i,j]:4);
   end;
  writeln;
 end;
writeln;
writeln('Вставка единиц:');
repeat
write('Введите число от 1 до ',n,' k=');
readln(k);
until k in [1..n];
for i:=1 to m do
 begin
  for j:=n+1 downto k+2 do
  x[i,j]:=x[i,j-1];{здесь выполняется вставка нулей по столбцу}
  x[i,k+1]:=0;
 end;
for i:=1 to m do
 begin
  for j:=1 to n+1 do
  write(x[i,j]:4);
  writeln;
 end;
readln
end.
в этом коде вставка идет по столбцу.. что именно изменить для вставки перед строкой..
0
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
27.12.2009, 20:06
После столбца матрицы с номером K вставить столбец из единиц.
в конце темы как вставить строку
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
27.12.2009, 20:06
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
uses crt;
CONST max=20;
var x:array[1..max,1..max]of INTEGER;
    m,n,i,j,k,t:INTEGER;
begin
clrscr;
RANDOMIZE;
repeat
WRITE('Количество строк от 1 до ',max,' m=');
readln(m);
UNTIL m in [1..max];
repeat
WRITE('Количество столбцов от 1 до ',max,' n=');
readln(n);
UNTIL n in [1..max];
Writeln('Исходная матрица:');
FOR i:=1 TO m DO
 begin
  FOR j:=1 TO n DO
   begin
    x[i,j]:=RANDOM(50)+10;
    WRITE(x[i,j]:4);
   END;
  writeln;
 END;
writeln;
writeln('Вставка нулей:');
repeat
WRITE('Введите число от 1 до ',n,' k=');
readln(k);
UNTIL k in [1..n];
for i:=m+1 downto k do for j:=1 to n do x[i,j]:=x[i-1,j];
for j:=1 to n do x[k-1,j]:=0;
FOR i:=1 TO m DO
 begin
  FOR j:=1 TO n+1 DO
  WRITE(x[i,j]:4);
  writeln;
 END;
readln;
END.
2
2 / 2 / 3
Регистрация: 14.05.2009
Сообщений: 136
27.12.2009, 20:11  [ТС]
Цитата Сообщение от Snoopy Посмотреть сообщение
оно там не правильно вставляет..

Добавлено через 4 минуты
Цитата Сообщение от k1ry4 Посмотреть сообщение
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
uses crt;
CONST max=20;
var x:array[1..max,1..max]of INTEGER;
    m,n,i,j,k,t:INTEGER;
begin
clrscr;
RANDOMIZE;
repeat
WRITE('Количество строк от 1 до ',max,' m=');
readln(m);
UNTIL m in [1..max];
repeat
WRITE('Количество столбцов от 1 до ',max,' n=');
readln(n);
UNTIL n in [1..max];
Writeln('Исходная матрица:');
FOR i:=1 TO m DO
 begin
  FOR j:=1 TO n DO
   begin
    x[i,j]:=RANDOM(50)+10;
    WRITE(x[i,j]:4);
   END;
  writeln;
 END;
writeln;
writeln('Вставка нулей:');
repeat
WRITE('Введите число от 1 до ',n,' k=');
readln(k);
UNTIL k in [1..n];
for i:=m+1 downto k do for j:=1 to n do x[i,j]:=x[i-1,j];
for j:=1 to n do x[k-1,j]:=0;
FOR i:=1 TO m DO
 begin
  FOR j:=1 TO n+1 DO
  WRITE(x[i,j]:4);
  writeln;
 END;
readln;
END.
все равно не правильно.. оно мне вставляет в столбец и в рядок...
0
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
27.12.2009, 20:14
в последнем цикле уберите n+1 оставьте до n
0
2 / 2 / 3
Регистрация: 14.05.2009
Сообщений: 136
27.12.2009, 20:19  [ТС]
м. ошибка такого плана
я выбираю 3ю строку оно вставляет после 1вой и пропадет последняя строка...
0
2 / 2 / 3
Регистрация: 14.05.2009
Сообщений: 136
27.12.2009, 20:55  [ТС]
Дана матрица размера МхN и целое число К(1<=K<=M). Перед строкой матрицы с номером К вставить строку из нулей.
Вставляет немного неправильно и пропадает последняя строка..
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
uses crt;
CONST max=20;
var x:array[1..max,1..max]of INTEGER;
    m,n,i,j,k,t:INTEGER;
begin
clrscr;
RANDOMIZE;
repeat
WRITE('Количество строк от 1 до ',max,' m=');
readln(m);
UNTIL m in [1..max];
repeat
WRITE('Количество столбцов от 1 до ',max,' n=');
readln(n);
UNTIL n in [1..max];
Writeln('Исходная матрица:');
FOR i:=1 TO m DO
 begin
  FOR j:=1 TO n DO
   begin
    x[i,j]:=RANDOM(50)+10;
    WRITE(x[i,j]:4);
   END;
  writeln;
 END;
writeln;
writeln('Вставка нулей:');
repeat
WRITE('Введите число от 1 до ',n,' k=');
readln(k);
UNTIL k in [1..n];
for i:=m+1 downto k do for j:=1 to n do x[i,j]:=x[i-1,j];
for j:=1 to n do x[k-1,j]:=0;
FOR i:=1 TO m DO
 begin
  FOR j:=1 TO n+1 DO
  WRITE(x[i,j]:4);
  writeln;
 END;
readln;
END.
0
 Аватар для VladimirKozloff
34 / 34 / 11
Регистрация: 25.11.2009
Сообщений: 50
27.12.2009, 21:22
Цитата Сообщение от TORVALD Посмотреть сообщение
FOR i:=1 TO m DO
begin
FOR j:=1 TO n+1 DO
WRITE(x[i,j]:4);
writeln;
END;
Если вы добовляете строку (i), зачем при выводе увелчивать количество столбцов?
Замените на:
Pascal
1
2
3
4
5
6
FOR i:=1 TO m+1 DO
 begin
  FOR j:=1 TO n DO
  WRITE(x[i,j]:4);
  writeln;
 END;
Цитата Сообщение от TORVALD Посмотреть сообщение
FOR j:=1 TO n DO x[k-1,j]:=0;
При обнуление учитываем сдвиг, а значит обнуляем k строку, а не k-1;
2
2 / 2 / 3
Регистрация: 14.05.2009
Сообщений: 136
27.12.2009, 21:40  [ТС]
огромное спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.12.2009, 21:40
Помогаю со студенческими работами здесь

Матрицы. Вставить строку из нулей перед строкой, содержащей элемент, равный а
1.Дана матрица размера M × N, все элементы которой различны. Вставить строку из нулей перед строкой содержащей элемент равный а. ...

Вставить пустую строку перед строкой файла с номером k
Помогите решить задание. Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с таким...

Вставить пустую строку перед строкой с заданным номером
10. Дано число k и текстовый файл. Вставить пустую строку перед1|после2 строки с номером k (строки нумеруются от 0). Если строки с таким...

Вставить пустую строку перед строкой файла с номером K
Люди добрые, прога не работает. Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с...

Вставить пустую строку перед строкой файла с номером K
Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с таким номером нет, то оставить...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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