0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 17
1

Поменять местами две строки квадратной матрицы

30.10.2016, 20:23. Показов 2252. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте. Мне нужна помощь при написании программы для изменения местами двух строк в матрице. Вот коментарий:
Получаем матрицу А рандомно, выводим ее и потом, вводим значения номеров двух строк l,k(которые необходимо поменят местами) и вывести вторую матрицу B (в которой k,l поменялись местами) /
Вот мой код
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program Matrix;
uses crt;
var
i,k,l,n,j,f,x : longint;
a: array [1 .. 100, 1 .. 100] of longint;
begin 
clrscr;
randomize;
Write ('Vvedit rozmir matritsi '); Readln (n);
for i:=1 to n do
for j:=1 to n do
a[i,j]:= random (n+1);
Writeln ('Vasha matritsa'); {Vivodimo pochatkovu matritsu}
for i:=1 to n do
begin
for j:=1 to n do
Write ( a[i,j], ' ');
writeln;
end;
Write ('Vvedit k='); Readln (k);
Write ('Vvedit l='); Readln (l);
ОТСЮДА Я НЕ ПОНИМАЮ ЧТО ДЕЛАТЬ )
Как правильно написать цикл изменения елементов двух строк??
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2016, 20:23
Ответы с готовыми решениями:

Поменять местами две строки матрицы
Дан двумерный массив. Поменять местами первую и третью строки.

Для заданной квадратной матрицы порядка n поменять местами элементы главной и побочной диагоналей
1. В однородном массиве, состоящем из n элементов, вычислить: - номер минимального элемента...

В каждой из матриц поменять местами две строки
В каждой из матриц: А(3 строки, 4 столбца) и В(5 строк, 5 столбцов) поменять местами две строки: в...

Поменять местами каждые две строки массива
Поменять местами каждые две строки массива эта вся задача

5
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,076
Записей в блоге: 1
30.10.2016, 20:46 2
Лучший ответ Сообщение было отмечено vortex_ как решение

Решение

Pascal
1
2
3
  for j:=1 to n do begin
    t:=a[k,j]; a[k,j]:=a[l,j]; a[l,j]:=t;
  end;
Выводить матрицу вы уже умеете.
0
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 17
30.10.2016, 21:42  [ТС] 3
а для чего нужен t ? вы можете мне обьснить процес выполнения (принцип действия) ?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,076
Записей в блоге: 1
30.10.2016, 22:37 4
Вы предлагаете без t? Готов посмотреть ваше решение.
0
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 17
30.10.2016, 23:21  [ТС] 5
я не предлагаю без t (хотя можно и без t, если использовать f)))). Я просто хочу понять принцип работы этой части кода:
Pascal
1
2
3
for j:=1 to n do begin
    t:=a[k,j]; a[k,j]:=a[l,j]; a[l,j]:=t;
  end;
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,076
Записей в блоге: 1
31.10.2016, 12:50 6
Ну сделайте себе вот такую картинку:
Код
  j:
    1  2  3  ...
  +--+--+--+-----
k:| 1  1  1  ...
  |...       ...
l:| 2  2  2  ...
  |
и выполните цикл руками на бумажке, наблюдая за тем, что происходит.
1
31.10.2016, 12:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2016, 12:50
Помогаю со студенческими работами здесь

В матрице А поменять местами две строки с заданными номерами
Выполнить над квадратной матрицей А порядка n последовательность действий, указанную в задании. а)...

Переставить местами две любые строки матрицы; два любых столбца матрицы.
Дан Двумерный массив. Составить программу, которая: а) переставляет две любые строки массива; б)...

Поменять местами 2 и 5 строки матрицы
1. Вывести на экран матрицу, состоящую из 16 элементов,в которой элемент совпадает с номером...

Поменять местами строки матрицы
Дан двумерный массив из 10 строк. Поменять местами такие строки: 2-й и 3-й, 4-й и 5-й, 6-й и 7-й.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru