0 / 0 / 0
Регистрация: 30.11.2009
Сообщений: 94
|
|
1 | |
Подпрограмы05.05.2010, 17:56. Показов 448. Ответов 0
Метки нет (Все метки)
У меня задание сделать меню для ввода,вывода,транспонирования и сложения матриц. Я написал прогу но но она не работает. Помогите найти ошибки! program menu;
uses crt; type mas=array[1..100,1..100] of integer; var m,n:integer; a,b,c:mas; q:integer; t:integer; z:char ; label s; procedure vvod(var x:mas; m,n:byte); var j,i:byte; begin writeln('Введите кол-во строк'); readln(n); writeln('Введите кол-во столбцов'); readln(m); for i:=1 to n do for j:=1 to m do begin writeln('Ввведите x[',i,'',j,'] элемент'); readln(x[i,j]); end; end; procedure vivod(var x:mas;m,n:byte); var i,j:byte; begin for i:=1 to n do begin writeln(''); for j:=1 to m do write(x[i,j]:5); end; end; procedure traspor(var x:mas; m,n:byte); var i,j:byte; t:integer; begin if m<>n then for i:=1 to n do begin j:=n; repeat t:= a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=t; j:=j-1 until i>=j; end else begin for i:=1 to n do for j:=1 to m do begin t:=a[i,j]; a[i,j]:=a[j,i]; a[i,j]:=t; end; end; end; procedure summ(var x:mas; m,n:integer; x1,x2:mas); var i,j:integer; begin for i:=1 to n do for j:=1 to m do x[i,j]:=x1[i,j]+x2[i,j]; end; begin clrscr; writeln(' Что вы хотите делать?'); s:writeln('1)Вводить,2)Выводить,3)Транспонировать,4)Складывать,5)Выйти'); readln(z); {writeln('выбирете со сколькими матрицами мы работаем 1 или 2'); readln(q);} case z of '1':begin if q=1 then begin writeln('введите матрицу 1 '); vvod(a,m,n) ; end else writeln('Ввведите матрицу 1'); vvod(a,m,n); writeln('Введите матрицу 2'); vvod(b,m,n); goto s; end; '2':begin if q=1 then begin vvod(a,m,n) ; writeln('Матрица 1:'); vivod(a,m,n); end else vvod(a,m,n) ; writeln('Матрица 1:'); vivod(a,m,n); writeln; vvod(b,m,n) ; writeln('Матрица 2:'); vivod(b,m,n); goto s; end; '3':begin writeln('Транспонированная матрица 1:'); traspor(a,m,n); vivod(a,m,n); writeln('Транспонированя матрица 2:'); traspor(b,m,n); vivod(b,m,n); goto s; end; '4':begin writeln('Результат сложения'); summ(c,m,n,a,b); vivod(c ,m,n); goto s; end; '5':begin t:=0; repeat t:=1; until t=1; end; end; end.
0
|
05.05.2010, 17:56 | |
Ответы с готовыми решениями:
0
Подпрограмы Подпрограмы Поменять местами первый положительный и последний отрицательный элементы в векторах (подпрограмы) Масивы и подпрограмы |
05.05.2010, 17:56 | |
05.05.2010, 17:56 | |
Помогаю со студенческими работами здесь
1
Составить программу с использованием подпрограмы типа Function , SUBROUTINE Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |