1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
всем привет. Совсем запуталась с параметрами .Помогите исправить ошибки.
program zadacha; uses crt; type mt1=array [1..20,1..20] of real; mt2=array [1..20] of real; var IM: char; matr:mt1; b,K:mt2; n,m,i,j:integer; ch:char; error:integer; shet:integer; zam:integer; label L1, L2; procedure VVOD (IM:char; var matr:mt1; n,m:integer); var i,j: integer; begin textcolor (white); clrscr; begin repeat write('введите имя матрицы ...'); readln(IM); write('введите количество строк от 1 до 20:'); {$i-} readln(n); Error:=IOResult; {$i+} if (n>20) or (n<1) or (Error<>0) then writeln('неверно. повторите ввод!'); until (n<=20) and (n>=1) and (error=0); begin repeat write('введите количество столбцов от 1 до 20:'); {$i-} readln(m); Error:=IOResult; {$i+} if (m>20) or (m<1) or (Error<>0) then writeln('неверно. повторите ввод!'); until (m<=20) and (m>=1) and (error=0); end; writeln; writeln ('вводите матрицу...',IM,':'); writeln; for i:=1 to n do for j:=1 to m do begin repeat write(IM,'[',i,',',j,']='); {$i-} readln(matr[i,j]); Error:=IOResult; {$i+} if (matr[i,j]>10000) or (matr[i,j]<-10000) or (Error<>0) then writeln('неверно. повторите ввод!'); until (matr[i,j]<=10000) and (matr[i,j]>=-10000) and (error=0); end; clrscr; writeln('исходная матрица :'); for i:=1 to n do begin for j:=1 to m do write(matr[i,j]:8:0,''); writeln; end; end; end;
Procedure varnt (IM:char; matr:mt1; shet: real; zam:real); var i,j: integer; Error: integer; K:array[1..100] of real; b:array [1..15] of integer; sum:real; sra:real;
label L1,L2; begin L1: begin writeln; textcolor(green); writeln('что вы хотите найти?'); writeln('1 => кол-во положительных элементов в столбцах матрицы'); writeln('2 => кол-во отрицательных элементов в столбцах матрицы;'); writeln; write('ваш вариант:'); readln(shet); case shet of 1: b[j]:=0; for j:=1 to m do begin for j:=1 to m do for i:=1 to n do if matr[i,j]>0 then b[j]:=b[j]+1; writeln('-------------------------'); writeln; textcolor(white); writeln('обработка...'); writeln; for j:=1 to m do writeln(b[j]:4); writeln; end; writeln; writeln('какие преобразования вы хотелибы произвести'); writeln; writeln('1=> найти сумму положительных элементов в каждом столбце матрицы ;'); writeln('2=> найти среднее арифметическое'); writeln('3=>вернуться в начало;'); writeln('4=>закончить работу с программой '); writeln; writeln('ваш вариант'); readln(zam); case zam of 1: for j:=1 to m do begin K[j]:=0; for i:=1 to n do if matr[i,j]>0 then K[j]:=K[j]+matr[i,j]; end; for j:=1 to m do write(K[j]:8:0); writeln; 2: for i:=1 to n do for j:=1 to m do begin SRA:=sum/(n*m); schet:=SRA; end; writeln; writeln (schet:8:2,' '); 3: goto L1; 4: exit;
2: b[j]:=0; for j:=1 to m do begin for j:=1 to m do for i:=1 to n do if matr[i,j]<0 then b[j]:=b[j]+1; writeln('-------------------------'); writeln; textcolor(white); writeln('обработка...'); writeln; for j:=1 to m do writeln(b[j]:4); writeln; end; writeln; writeln('какие преобразования вы хотелибы произвести'); writeln; writeln('1=> найти сумму положительных элементов в каждом столбце матрицы ;'); writeln('2=> найти среднее арифметическое'); writeln('3=>вернуться в начало;'); writeln('4=>закончить работу с программой '); writeln; writeln('ваш вариант'); readln(zam); case zam of 1: for j:=1 to m do begin K[j]:=0; for i:=1 to n do if matr[i,j]>0 then K[j]:=K[j]+matr[i,j]; end; for j:=1 to m do write(K[j]:8:0); writeln; 2: for i:=1 to n do for j:=1 to m do begin SRA:=sum/(n*m); schet:=SRA; end; writeln; writeln (schet:8:2,' '); 3: goto L1; 4: exit;
begin clrscr; L1: VVOD(IM1,n1,m1); variant(matr,H, b, k, schet,zam); writeln; writeln('Хотите преобразовать еще одну матрицу?(Y-да ,N-нет)'); L2:
case readkey of #89: goto L1; #121: goto L1; #78: exit; #110: exit; end; goto L2; readln; End.