Консультация № 122700
11.02.2008, 18:19
0.00 руб.
0 1 1
здраствуйте уважаемые специалисты!помогите пожалуйста написать программу на паскале. Заранее спасибо! Параметр-двумерный массив NxM(N и M-константы модуля).Действия:

Приложение:
-нахождение разности сумм элементов массивов;-обмен элементами 1ой строки 1ого и последней строки второго массивов;-обмен элементами 1 столбца второго массива и последнего столбца первого массива.-нахождение суммы элементов главных диагоналей 2ух массивов.

Обсуждение

Неизвестный
11.02.2008, 23:09
общий
это ответ
Здравствуйте, AlexJan87!
Программа в приложении.
Действий даже несколько больше, чем Вы писали :)

Удачи!

Приложение:
uses crt;const N = 3; M = 5;type TMas = array[1..N, 1..M] of integer;var A, B : TMas;procedure FillMas(var Mas : TMas);var i,j : integer;begin for i := 1 to N do for j := 1 to M do Mas[i,j] := random(10);end;procedure writemas(mas : TMas);var i,j : integer;begin for i := 1 to N do begin for j := 1 to M do write(mas[i,j],‘ ‘); writeln; end; WriteLn;end;procedure change(var a,b:integer);var t : integer;begin t := a; a := b; b := t;end;function summ(mas : TMas) : integer;var i, j, sum : integer;begin sum := 0; for i := 1 to N do for j := 1 to M do sum := sum + mas[i, j]; summ := sum;end;var i, j, act, sum : integer;begin randomize; FillMas(A); FillMas(B); clrscr; writemas(A); writemas(B); repeat WriteLn; WriteLn(‘Select action: ‘); WriteLn(‘0 - clear screen, write arrays, write this help‘); WriteLn(‘1 - raznost summ massivov‘); WriteLn(‘2 - obmen elementov 1 stroki pervogo massiva i poslednej stroki vtorogo‘); WriteLn(‘3 - obmen elementov 1 stolbca vtorogo massiva i poslednego stolbca pervogo‘); WriteLn(‘4 - summa elementov glavnyh diagonalej dvuh massivov. Massivy dolzhny byt‘‘ NxN‘); WriteLn(‘5 - zapolnit massivy novymi znacheniyami‘); WriteLn(‘6 - exit‘); ReadLn(act); case act of 0 : begin clrscr; writemas(A); writemas(B); end; 1 : begin WriteLn(summ(a)); WriteLn(summ(b)); WriteLn(‘Raznost summ massivov: ‘, abs(summ(A)-summ(B))); end; 2 : begin for i := 1 to M do change(A[1,i], B[N,i]); writemas(A); writemas(B); end; 3 : begin for i := 1 to N do change(B[i,1], A[i,M]); writemas(A); writemas(B); end; 4 : begin sum := 0; for i := 1 to N do begin sum := sum + A[i,i]; sum := sum + B[i,i]; end; WriteLn(‘Summa glavnyh diagonalej: ‘,sum); end; 5 : begin clrscr; FillMas(A); FillMas(B); Writemas(A); WriteMas(B); end; 6 : exit; else WriteLn(‘Unknown command‘) end; WriteLn(‘____________________________________‘); Until act = 6;end.
Форма ответа