[ домой ] | [ следующий ] [ начало главы ] [ предыдущий ] | [ содержание ] |
|
|
||
|
|
|
|
|
|
|
|
Школьный АЯ алг Строки с нулями (арг цел N, M, арг цел таб A[1:N, 1:M], рез цел K) дано | N>0, M>0 нач цел i, j, лит Flag K := 0 нц для i от 1 до N | цикл по всем строкам j:= 1; Flag := "Нет" нц пока (j <= M) и (Flag = "Нет") | цикл до нулевого элемента строки если A[i, j] = 0 то Flag:="Да"; K:=K+1 иначе j:=j+1 все кц кц кон |
|
|
|
|
|
|
|
"Да" |
2 |
+ -(кц) |
+ |
1 |
|
|
2 3 4 |
+ + -(кц) |
- - |
|
|
"Да" |
|
-(кц) |
|
|
Turbo Pascal
Program ContainZero; Uses Crt; Var A : Array[1..10, 1..10] of Integer; N, M, i, j : Integer; K : Integer; {K - количество строк, содержащих нули} {--------------------------------------------} Procedure InputOutput; {описание процедуры ввода-вывода данных} Begin ClrScr; Write('Количество строк - '); ReadLn(N); Write('Количество столбцов - '); ReadLn(M); For i := 1 to N do For j := 1 to M do begin Write('A[' , i , ' , ' , j , ']= ? '); ReadLn(A[i, j]) end;
WriteLn; WriteLn('Исходная матрица :'); For i := 1 to N do begin For j := 1 to M do Write(A[i, j] : 5); WriteLn end; WriteLn End; { of InputOutput } {--------------------------------------------} Function Zero(i:Integer):Boolean; {описание функции, принимающей } Var Flag : Boolean; {значение Истина, если в строке есть } Begin {нули, и Ложь, если в строке нет нулей} j:=1; Flag:=FALSE; While (j<=M) and not Flag do If A[i, j]=0 then Flag:=TRUE else j:=j+1; Zero:=Flag {значение функции присваивается имени функции} End; {--------------------------------------------} BEGIN InputOutput; {вызов процедуры ввода-вывода} K:=0; For i := 1 to N do If Zero(i) then K:=K+1; {Zero(i) - указатель функции Zero} WriteLn('Количество строк, содержащих нули, равно ', K); ReadLn END.
QBasic
CLS INPUT "Количество строк - ", N INPUT "Количество столбцов - ", M : DIM A(N, M) FOR i = 1 TO N FOR j = 1 TO M PRINT "A(" ; i ; ", " ; j ; ") = " ; INPUT A(i, j) NEXT j NEXT i : CLS PRINT "Исходная матрица :" : PRINT FOR i = 1 TO N FOR j = 1 TO M PRINT A(i, j) ; NEXT j : PRINT NEXT i : PRINT
K = 0 FOR i = 1 TO N 'цикл по всем строкам j = 1 : Flag = 0 WHILE (j <= M) AND ( Flag = 0 ) 'цикл до нулевого элемента строки IF A(i, j) = 0 THEN Flag = 1: K = K + 1 ELSE j = j + 1 WEND NEXT i
PRINT "О т в е т : строк, содержащих нули, " ; K ; "." END
[ домой ] | [ следующий ] [ начало главы ] [ предыдущий ] | [ содержание ] |