Страница 2 из 4

Re: Процедуры. Шахматная задача

Добавлено: 14 мар 2009, 00:13
dr.Jekill
dimka писал(а):Огромное спасибо!)
Если Вы добавите отзыв я не растроюсь

Re: Процедуры. Шахматная задача

Добавлено: 15 мар 2009, 18:58
dimka
Помогите еще одну решить пожалуйста! Дана матрица действительных чисел A(n,n). Поменять местами 1-ый и 2-ой, 3-ий и 4-ый................(n-1) и n-ый столбцы. Воспользоваться вспомогательным массивом.

Процедуры. Шахматная задача

Добавлено: 15 мар 2009, 19:17
dr.Jekill
Насколько я понял: сдвинуть столбцы исходной матрицы влево
и соответсвенно первый элемент записать последним? Или как?

Re: Процедуры. Шахматная задача

Добавлено: 15 мар 2009, 20:35
dimka
dr.Jekill писал(а):Насколько я понял: сдвинуть столбцы исходной матрицы влево
и соответсвенно первый элемент записать последним? Или как?
К сожалению нет. Именно 1й со 2м, 3й с 4м, 5й с 6м, ... , (n-1)й с n.

Re: Процедуры. Шахматная задача

Добавлено: 16 мар 2009, 16:47
dimka
Люди! Помогите пожалуйста!..

Re: Процедуры. Шахматная задача

Добавлено: 16 мар 2009, 17:46
dr.Jekill
dimka писал(а):К сожалению нет. Именно 1й со 2м, 3й с 4м, 5й с 6м, ... , (n-1)й с n.
Ну если n-1 c n, тогда получается не только 1 с 2, но и 2 с 3 и т.д.
Другими словами столбцы надо сдвинуть вправо на один. Тем более если есть вспомогательный массив... открываются огромные просторы для фантазии. Работайте.

Re: Процедуры. Шахматная задача

Добавлено: 16 мар 2009, 18:12
dimka
dr.Jekill писал(а):Ну если n-1 c n, тогда получается не только 1 с 2, но и 2 с 3 и т.д.
Другими словами столбцы надо сдвинуть вправо на один. Тем более если есть вспомогательный массив... открываются огромные просторы для фантазии. Работайте.
Ну я так понимаю, что n-четное. тогда получится, что именно 1 и 2, 3 и 4, n-1 и n.

Re: Процедуры. Шахматная задача

Добавлено: 16 мар 2009, 18:14
dr.Jekill
Попробуйте это (могут быть ошибки-не компиллировал). Если поможет довьте отзыв, нажав на кнопочку вверху моего сообщения:

Код: Выделить всё

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.

Re: Процедуры. Шахматная задача

Добавлено: 16 мар 2009, 18:24
dr.Jekill
Перекомпиллировал и исправил:

Код: Выделить всё

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.

Re: Процедуры. Шахматная задача

Добавлено: 16 мар 2009, 18:27
dr.Jekill
dimka писал(а):Ну я так понимаю, что n-четное. тогда получится, что именно 1 и 2, 3 и 4, n-1 и n.
Почему n-четное? В условии этого нет.
Хотя даже если и так, переделывать немного: добавить дополнительно в цикл увелечение индекса на единицу, при этом в цикл нужно записать еще, что-то типа if keypressed then halt;, чтобы в случае если мы перепрыгнем конечное значение, можно было выйти из программы.