Удаление строки в матрице си

Удаление строки в матрице си

Двумерные массивы. Умножение матрицы на вектор.

Для вычисления произведения С матрицы А размером n*m на вектор B размером m необходимо вычислить , i=1,….,n. .

Использование вспомогательной переменной s позволяет уменьшить время выполнения программы за счет исключения обращения в цикле по j к элементам массива C.

Program PROIZV_1;

Constn=6;

Vari, j, s : integer;

a : array [1..n,1..m] of integer;

b : array [1..m] of integer;

c: array [1..n] of integer;

Begin

randomize;

writeln (‘Сформирована матрица A’);

for i:=1 to n do

Begin

for j:=1 to m do

Begin

a[ i,j ]:= random(101)-50;

write (a[ i,j ]:6);

end;

writeln(‘’);

end;

writeln (‘Сформирован вектор B’);

for j:=1 to m do

Begin

b[ j ]:= random(51)-30;

write (b[ j ]:6);

end;

fori:=1 to n do

Begin

for j:=1 to m do

end;

writeln (‘Получен вектор C ’);

for i:=1 to n do

write(c[ i ]:6);

Readln;

End.

Для умножения матрицы А размером n*k на матрицу B размером k*m необходимо вычислить , i=1,…,n; j=1,…,m.

Program PROIZV_1;

Const n=3;

Vari, j, s : integer;

a : array [1..n,1..k] of integer;

b : array [1..k,1..m] of integer;

c : array [1..n,1..m] of integer;

Begin

randomize;

writeln (‘Сформирована матрица A’);

for i:=1 to n do

Begin

for j:=1 to k do

Begin

a[ i,j ]:= random(101)-50;

write (a[ i,j ]:6);

end;

writeln;

end;

writeln (‘Сформирована матрица B’);

for i:=1 to k do

Begin

for j:=1 to m do

Begin

b[ i,j ]:= random(351)-85;

write (a[ i,j ]:6);

end;

writeln(‘’);

end;

for i:=1 to n do

for j:=1 to m do

Begin

for l:=1 to k do

end;

writeln (‘Сформирована матрица С’);

for i:=1 to n do

Begin

for j:=1 to m do

write (c[ i,j ]:6);

writeln;

Читайте также:  Меняю цвет волос в видео приложения

end;

Readln;

End.

Удаление строки матрицы.

Алгоритм удаления строки является сходным с алгоритмом удаление элементов одномерного массива, за тем исключением, что операция переноса элементов выполняется для каждого столбца при переборе строк. Рассмотрим программу удаления из матрицы А заданной с клавиатуры строки T.

Program UDALENIE;

Constn=10;

Vari, j, t, n : integer;

a : array [1..n,1..m] of integer;

Begin

randomize;

writeln (‘Сформирована матрица A’);

fori:=1 to n do

Begin

for j:=1 to m do

Begin

a[ i,j ]:= random(101)-50;

write (a[ i,j ]:6);

end;

writeln;

end;

writeln (‘Введите номер строки для удаления’);

readln (t);

for i:=t to k do

for j:=1to m do

writeln (‘Получена матрица ‘);

for i:=1 to k do

Begin

for j:=1 to m do

Я новичок в C ++, и я хочу сделать программу, которая удаляет строки из матрицы .. Как, если я скажу 3 3 2
1 2 3 это нужно показать 1 2 3
4 5 6 7 8 9
7 8 9
Программа работает так: 3 = строки, 3 = столбцы, 2 = удаленная строка. «3 3 2» это не ряд …
Я написал это:

Но это не работает …. Кто-то может мне помочь?

Решение

модифицированный код (он будет работать нормально):

Другие решения

Это не работает, что вы думаете j делает в этом коде?

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

Существует двумерная матрица a [i] [j], при условии, что количество элементов задается непосредственно в коде. Например: я = 1,2. n и j = 1,2. m, Эта матрица должна быть заполнена самим программистом, а затем изменена путем удаления столбца и строки.

Мне нужно удалить любую строку и любой столбец в этой матрице, а затем отобразить измененную матрицу. Если вы знаете решение задачи, посмотрите пример в виде кода.

Читайте также:  Почему не скачивания приложение из плей маркета

Обычно я создаю свои матрицы с небольшим контейнером, который будет размещать в нем данные в куче.

Я не знаю, почему вы хотите удалить вещи из матрицы. Но вы можете установить элемент в NULL. В любом случае, теперь вы можете получить значения из матрицы с помощью этой формулы:

для двух измерений используйте:

для 3-х измерений используйте:

Вы можете удалить строку следующим образом:

Но вы не можете удалить столбцы. Если бы я был вами, для столбцов я бы воссоздал матрицу с двумя циклами for, исключая столбец, который вы хотите удалить из цикла.

Ссылка на основную публикацию
Тонны в сутки в кг в секунду
Сколько Килограмм в секунду в Метрическая тонна в сутки: 1 Килограмм в секунду = 86.4 Метрическая тонна в сутки 1...
Тарол волкова от тараканов отзывы
ЗДОРОВЬЕ И КРАСОТА ИЗ СИБИРИ Препарат нового поколения, обеспечивающий 100% эффект против тараканов и совершенно безопасный для человека и животных....
Тачки для gta sa
В этом разделе сайта вы можете скачать машины для GTA San Andreas. Пользователи очень любят скачивать моды машин именно с...
Тонер для заправки картриджей canon 725
Совместимость: Картридж Canon 728 подходит к принтерам MF-4410, 4430, 4450, 4550, 4570, 4580, 4730, 4750, 4780, 4870, 4890. Аналог —...
Adblock detector