Исправьте, пожалуйста, программу
задание:
осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов или вправо или вниз (в зависимости от введённого режима). то что по идеи следовало бы исправить :tehnari_ru_102: program lab; uses crt; var a:array [1..100,1..100] of integer; n,m,i,j,g,h,l:integer; begin writeln ('введите n,m'); readln (n,m); for i:=1 to n do for j:=1 to m do readln (a[i,j]); for i:=1 to g do for j:=1 to m-1 do begin l:=a[h,j]; a[h,j]:=a[h,j+1]; a[h,j+1]:=1; end; for i:=1 to n do begin for j:=1 to m do writeln (a[i,j]:3); writeln;end; readln; end. БЛАГОДАРЮ:tehnari_ru_078: |
в этой программе по идеи должен осуществлятся сдвиг вправо...
|
Цитата:
http://www.tehnari.ru/f41/t36969/ |
оо..хи...над же...точ в точ...хм....интересн:))
спасибочки |
та программка не работа пчемут:(
|
Цитата:
|
вот...сделала...всё работает...мне просто нужно сдвинуть...но...правильно работает только при вводе определённых данных в read (a[i])...вообщем не заменяет первый в строке элемент последним, который по идеи должен после сдвига стать на его позицию:((
program ; uses crt; var a:array [1..100] of integer; s:array [1..100, 1..100] of integer; m,n,i,j,k,b:integer; begin writeln ('введите n,m'); readln (n,m); for i:=1 to n do read (a[i]); for i:=1 to n do begin for j:=1 to m do readln (s[i,j]); for i:=1 to n do begin for j:=1 to m do write (a[i,j]:3; writeln; end; while (k<>b); for i:=1 to n do a[i]:=s[i,n]; for j:=m down to 2 do for i:=1 to n do s[i,j]=s[i,j-1]; for i:=1 to n do s[i,1]:=a[i]; k:=k+1; for i:=1 to n do for j:=1 to m do writeln (s[i,j]:3); writeln; end; readln; end. |
как бы так сделать чтоб автоматически заменялся?:((...рассказывали нам кажись на парах с помощью дополнительной парочки переменных которые бы хранили это сдвинувшееся последнее значение, чтоб потом вставить на первое...только как это всё в программе красиво ....:(
|
Часовой пояс GMT +4, время: 00:13. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.