Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
6 / 1 / 0
Регистрация: 29.12.2013
Сообщений: 53

Вставить К-й столбец с нулевыми значениями в матрицу

29.12.2013, 14:36. Показов 1269. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана матрица размерностью M*N. Вставить К-й столбец с нулевыми значениями в матрицу. Обнулить в обновленном массиве отрицательные элементы.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2013, 14:36
Ответы с готовыми решениями:

Перед элементом массива с номером K вставить M новых элементов с нулевыми значениями
Дан массив размера N и два целых числа K и M (1 ≤ K ≤ N, 1 ≤ M ≤ 10). Перед элементом массива с номером K вставить M новых элементов с...

Перед элементом массива с номером K вставить M новых элементов с нулевыми значениями
Дан массив размера N и два целых числа K и M (1 < K <N, 1 <M < 10). Перед элементом массива с номером K вставить M новых элементов с...

После элемента массива с номером K вставить M новых элементов с нулевыми значениями
Дан массив размера N и два целых числа K и M (1 < K < N, 1 < M < 10). После элемента массива с номером K вставить M новых элементов с...

10
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 5
29.12.2013, 15:52
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
var n,m,j,i,K:Integer;
    A:array[1..5,1..5] of Real;
 
begin
  writeln('vvedite n,m');
  Readln(n,m);
  Writeln('vvedite matricu',n,'*',m);
  for i:=1 to n do
    for j:=1 to m do
      read(A[i,j]);
  Writeln('vvedite K-iy stolbec');
  Readln(K);
  for i:=1 to n do
    for j:=1 to m do
        A[i,K]:=0;
 
  for i:=1 to n do
    for j:=1 to m do
      if A[i,j]<0 then
        A[i,j]:=0;
  for i:=1 to n do
    begin
      for j:=1 to m do
        write(A[i,j]:3);
        writeln;
    end;
Readln
end.
0
 Аватар для newyork7776
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
29.12.2013, 16:30
koverzs, задание решено неправельно

Добавлено через 19 секунд
происходит потеря елем массива

Добавлено через 27 минут
столбец
Кликните здесь для просмотра всего текста
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
program Egor26;
{$APPTYPE CONSOLE}
uses
  SysUtils;
 
var mas,q:array [1..100,1..100] of Integer;
    a,b,i,j,m,n,k:integer;
begin
  Randomize;
  a:=1;b:=1;
  Write('Enter - = ');Readln(n);
  Write('Enter | = ');Readln(m);
  Writeln('Array [start]');
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          q[i,j]:=Random(50)-25;
          write(q[i,j],' ');
        end;
    Writeln;
    end;
  Write('Enter number k = ');Readln(k);
  for i:=1 to k do
    begin
      for j:=1 to m do
        begin
          mas[i,j]:=q[i,j];
        end;
    end;
  for j:=1 to m do
    begin
      mas[j,k]:=0;
    end;
  for i:=1 to n do
    begin
      for j:=k to m do
        begin
          mas[i,j+1]:=q[i,j];
        end;
    end;
  Writeln('Array [finish]');
  for i:=1 to n do
    begin
      for j:=1 to m+1 do
        begin
          mas[i,j]:=Abs(mas[i,j]);
          write(mas[i,j],' ');
        end;
    Writeln;
    end;
Readln;
end.

строка
Кликните здесь для просмотра всего текста
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
program Egor26;
{$APPTYPE CONSOLE}
uses
  SysUtils;
 
var mas,q:array [1..100,1..100] of Integer;
    a,b,i,j,m,n,k:integer;
begin
  Randomize;
  a:=1;b:=1;
  Write('Enter - = ');Readln(n);
  Write('Enter | = ');Readln(m);
  Writeln('Array [start]');
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          q[i,j]:=Random(50)-25;
          write(q[i,j],' ');
        end;
    Writeln;
    end;
  Write('Enter number k = ');Readln(k);
  for i:=1 to k do
    begin
      for j:=1 to m do
        begin
          mas[i,j]:=q[i,j];
        end;
    end;
    for j:=1 to m do
      begin
        mas[k,j]:=0;
      end;
  for i:=k to n do
    begin
      for j:=1 to m do
        begin
          mas[i+1,j]:=q[i,j];
        end;
    end;
  Writeln('Array [finish]');
  for i:=1 to n+1 do
    begin
      for j:=1 to m do
        begin
          mas[i,j]:=Abs(mas[i,j]);
          write(mas[i,j],' ');
        end;
    Writeln;
    end;
Readln;
end.
2
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 5
29.12.2013, 17:42
ясно, я наверное задание неправильно понял
0
6 / 1 / 0
Регистрация: 29.12.2013
Сообщений: 53
30.12.2013, 00:41  [ТС]
а как сделать чтобы вводитьь самому значения, и столбец был не слева направо а сверху вниз?
0
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 5
30.12.2013, 01:55
Цитата Сообщение от Egor26 Посмотреть сообщение
а как сделать чтобы вводитьь самому значения, и столбец был не слева направо а сверху вниз?
ну как вводить значения самому есть выше в программе, а насчет ввода сверху вниз не знаю, обычно принято вводить 1 строка 1 элемент, 1 строка 2 элемент..., затем по 2ой строке и т.д
0
6 / 1 / 0
Регистрация: 29.12.2013
Сообщений: 53
30.12.2013, 16:42  [ТС]
Всё норм, только отрицательные значения не обнуляет, а делает их положительными

Добавлено через 27 минут
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
var mas,q:array [1..100,1..100] of Integer;
   e,a,b,i,j,m,n,k:integer;
begin
  Randomize;
  a:=1;b:=1;
  Write('Enter - = ');Readln(n);
  Write('Enter | = ');Readln(m);
  Writeln('Array [start]');
  e:=15;
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          q[i,j]:=Random(40)-e;
          write(q[i,j],' ');
        end;
    Writeln;
    end;
  Write('Enter number k = ');Readln(k);
  for i:=1 to n do
    begin
      for j:=1 to k do
        begin
          mas[i,j]:=q[i,j];
        end;
    end;
    for i:=1 to n do
      begin
        mas[i,k]:=0;
      end;
  for j:=k to m do
    begin
      for i:=1 to n do
        begin
          mas[i,j+1]:=q[i,j];
        end;
    end;
  Writeln('Array [finish]');
  for i:=1 to n do
    begin
      for j:=1 to m+1 do
        begin
          mas[i,j]:=Abs(mas[i,j]);
          write(mas[i,j],' ');
        end;
    Writeln;
    end;
Readln;
end.
 
[size="1"][color="grey"][I]Добавлено через 12 минут[/I][/color][/size]
зачем вот эти строчки
Randomize;
a:=1;b:=1;
Добавлено через 27 минут
вот переделал


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
Program pas_10;
var mas,q:array [1..100,1..100] of Integer;
   e,a,b,i,j,m,n,k:integer;
begin
  Write('Enter - = ');Readln(n);
  Write('Enter | = ');Readln(m);
  Writeln('Array [start]');
  e:=10;
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          q[i,j]:=Random(50)-e;
          write(q[i,j],' ');
        end;
    Writeln;
    end;
  Write('Enter number k = ');Readln(k);
  for i:=1 to n do
    begin
      for j:=1 to k do
        begin
          mas[i,j]:=q[i,j];
        end;
    end;
    for i:=1 to n do
      begin
        mas[i,k]:=0;
      end;
  for j:=k to m do
    begin
      for i:=1 to n do
        begin
          mas[i,j+1]:=q[i,j];
        end;
    end;
  Writeln('Array [finish]');
  for i:=1 to n do
    begin
      for j:=1 to m+1 do
        begin
       if mas[i,j]<0 then mas[i,j]:=0;
          write(mas[i,j],' ');
        end;
    Writeln;
    end;
Readln;
end.
Добавлено через 3 минуты
помогите эту посчитать задачу [Кросспостинг]
0
30.12.2013, 16:46

Не по теме:

Egor26, рекомендую Вам просьбы не по теме писать в оффтопе (теги [ОFF], [/ОFF]). Есть соответствующая кнопка в шапке редактора сообщений. Всего Вам доброго.

1
30.12.2013, 17:02  [ТС]

Не по теме:

помогите эту посчитать задачу Определить время обработки партии детали каждого наименования

0
6 / 1 / 0
Регистрация: 29.12.2013
Сообщений: 53
30.12.2013, 23:52  [ТС]
Название: Новый точечный рисунок.jpg
Просмотров: 41

Размер: 20.6 Кб
как сделать чтобы матрица была ровной?
0
Модератор
10445 / 5737 / 3406
Регистрация: 17.08.2012
Сообщений: 17,455
31.12.2013, 00:26
Egor26, так же, как я писал в другой теме, только для целых чисел. Указывается, сколько знаков печатать, включая "-". Ну и плюс сколько пробелов хотите меж столбов оставить. Для этого случая:
Pascal
1
write(mas[i,j]:4);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.12.2013, 00:26
Помогаю со студенческими работами здесь

Перед элементом массива номера К вставить М новых элементов с нулевыми значениями
Дан массив размера N и два целых числа К и M. Перед элементом массива номера К вставить М новых элементов с нулевыми значениями.

После элемента массива с номером K вставить M новых элементов с нулевыми значениями
Дан массив размера N и два целых числа K и M (1 ≤ K ≤ N, 1 ≤ M ≤ 10). После элемента массива с номером K вставить M новых элементов с...

Перед элементом массива с номером K вставить M новых элементов с нулевыми значениями
Обязательно использовать одномерные массивы и процедуры или функции работы с одномерными массивами! Дан массив размера N и два целых...

Перед элементом массива с номером K вставить M новых элементов с нулевыми значениями
Спасибо реальное, вы все очень помогаете, я по той же теме...Array 104: Дан массив размера N и два целых числа K и M (1 ≤ K ≤...

После каждого столбца, все элементы которого положи-тельные, добавить новый столбец и заполнить его нулевыми значениями
Помогите написать код. Условие - в программе не должно быть никаких квадратных скобок . Как выполнить без массива понятия не имею....


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru