DATA 101,98,100,108,97,106,99,100,112,96,107,98 DIM a(1 TO 12) AS INTEGER DIM b(1 TO 12) AS INTEGER, c(1 TO 12) AS INTEGER DIM i AS INTEGER, ib AS INTEGER, ic AS INTEGER CLS ib = 0: ic = 0 FOR i = 1 TO 12 READ a(i) SELECT CASE a(i) CASE 100 ib = ib + 1 b(ib) = i CASE IS > 100 ic = ic + 1 c(ic) = i END SELECT NEXT i
PRINT "План (100%) в месяцах: "; FOR i = 1 TO ib PRINT b(i); NEXT i PRINT PRINT "перевыполнение плана в месяцах "; FOR i = 1 TO ic PRINT c(i); NEXT i END
Результат выполнения программы: План (100%) в месяцах: 3 8 перевыполнение плана в месяцах 1 4 6 9 11
Procedure TForm1.Button1Click(Sender: TObject); var i1,i2,i3 : Integer; m : array [1..10] of Integer; kk : Integer; begin Memo1.Clear; for i1 := 1 to 10 do begin m[i1]:= Random(10)-5; Memo1.Lines.Append('m['+inttostr(i1)+'] = '+inttostr(m[i1])); end; Memo1.Lines.Append(''); kk := 0; for i1 := 1 to 10-2 do begin for i2 := i1+1 to 10-1 do begin for i3 := i2+1 to 10 do begin if ( (m[i1]+m[i2]+m[i3])=0) then begin inc(kk); Memo1.Lines.Append('Индекс = '+inttostr(i1)+' '+inttostr(i2)+' '+inttostr(i3)+' Значение = '+inttostr(m[i1])+' '+inttostr(m[i2])+' '+inttostr(m[i3])); end; end; end; end; Memo1.Lines.Append(''); if kk>0 then Memo1.Lines.Append('Да в этом массиве есть три числа сумма которых равна нулю') else Memo1.Lines.Append('Нет в этом массиве три числа сумма которых равна нулю'); Memo1.Lines.Append('Количество комбинаций = '+inttostr(kk)); end;