Если Вы добавите отзыв я не растроюсьdimka писал(а):Огромное спасибо!)
Процедуры. Шахматная задача
Помогите еще одну решить пожалуйста! Дана матрица действительных чисел A(n,n). Поменять местами 1-ый и 2-ой, 3-ий и 4-ый................(n-1) и n-ый столбцы. Воспользоваться вспомогательным массивом.
К сожалению нет. Именно 1й со 2м, 3й с 4м, 5й с 6м, ... , (n-1)й с n.dr.Jekill писал(а):Насколько я понял: сдвинуть столбцы исходной матрицы влево
и соответсвенно первый элемент записать последним? Или как?
Люди! Помогите пожалуйста!..
-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Ну если n-1 c n, тогда получается не только 1 с 2, но и 2 с 3 и т.д.dimka писал(а):К сожалению нет. Именно 1й со 2м, 3й с 4м, 5й с 6м, ... , (n-1)й с n.
Другими словами столбцы надо сдвинуть вправо на один. Тем более если есть вспомогательный массив... открываются огромные просторы для фантазии. Работайте.
Нет религии выше истины
Ну я так понимаю, что n-четное. тогда получится, что именно 1 и 2, 3 и 4, n-1 и n.dr.Jekill писал(а):Ну если n-1 c n, тогда получается не только 1 с 2, но и 2 с 3 и т.д.
Другими словами столбцы надо сдвинуть вправо на один. Тем более если есть вспомогательный массив... открываются огромные просторы для фантазии. Работайте.
-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Попробуйте это (могут быть ошибки-не компиллировал). Если поможет довьте отзыв, нажав на кнопочку вверху моего сообщения:
Код: Выделить всё
uses crt;
var a,b:array[1..50,1..50] of integer;
i,j,n:byte;
begin
clrscr;
writeln('Zadaite razmernost massiva: ');
readln(n);
writeln('Vvodite elementy: ');
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]);
for i:=1 to n do b[i,1]:=a[i,n];
for i:=1 to n do
for j:=2 to n do b[i,j]:=a[i,j-1];
clrscr;
write('Relultiruiuschii massiv: ');
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(b[i,j],' ');
end;
readln;
end.
Нет религии выше истины
-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Перекомпиллировал и исправил:
Код: Выделить всё
uses crt;
var a,b:array[1..50,1..50] of integer;
i,j,n:byte;
begin
clrscr;
writeln('Zadaite razmernost massiva: ');
readln(n);
writeln('Vvodite elementy: ');
{Вводим элементы по столбцам}
for j:=1 to n do
for i:=1 to n do
readln(a[i,j]);
for i:=1 to n do b[i,1]:=a[i,n];
for j:=2 to n do
for i:=1 to n do b[i,j]:=a[i,j-1];
clrscr;
write('Relultiruiuschii massiv: ');
{Выводим по строкам}
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(b[i,j],' ');
end;
readln;
end.
Нет религии выше истины
-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Почему n-четное? В условии этого нет.dimka писал(а):Ну я так понимаю, что n-четное. тогда получится, что именно 1 и 2, 3 и 4, n-1 и n.
Хотя даже если и так, переделывать немного: добавить дополнительно в цикл увелечение индекса на единицу, при этом в цикл нужно записать еще, что-то типа if keypressed then halt;, чтобы в случае если мы перепрыгнем конечное значение, можно было выйти из программы.
Нет религии выше истины