Информатика.паскаль.дано натуральное число n. составить программу, которая определяет, сколько цифр этого числа кратны трем. p.s т.е мало того что нам нужно определить кратность каждой цифры этого числа ина выходе получит сколько этих чисел.
// PascalABC.NET 3.0, сборка 1150 от 22.01.2016 begin var n:=ReadInteger('Количество элементов массива '); var m:=ArrRandom(n,-50,50); m.Println(', '); var a:=0; var b:=0; var c:=0; for var i:=0 to n-1 do begin if m[i]>0 then a:=a+m[i]; if m[i]<m[b] then b:=i; if m[i] mod 5 = 0 then Inc(c) end; var w:=(b+1)+a/(c+1); WritelnFormat('A={0}, B={1}, C={2}, W={3}',a,b+1,c,w); Writeln('Принято, что элементы массива нумеруются от единицы') end.
Тестовое решение: Количество элементов массива 13 -43, -15, 18, -8, -13, -47, -36, 6, -16, 45, 33, 33, -24 A=135, B=6, C=2, W=51 Принято, что элементы массива нумеруются от единицы
Специально для вас выловил ошибки, находящиеся в предыдущем решении. Кому-то не повезло :(
//PascalABC var S : array[1..10000] of integer; A, B, C, i, N, min : integer; W : real; begin write('Укажите размер массива > '); readln(N); write('Вводите элементы массива > '); for i := 1 to N do readln(S[i]);
A := 0; min := S[1]; C := 0; for i := 1 to N do begin if S[i] > 0 then A := A + S[i]; if S[i] < min then begin B := i; min := S[i]; end; if S[i] mod 5 = 0 then C := C + 1; end; W := B + A / (C + 1); writeln('Сумма элементов ', A); writeln('Номер минимального эл-та ', B); writeln('Количество кратных пяти ', C); writeln('Параметр W ', W); end.
var
N, count:integer;
begin
write('N = ');
readln(N);
count := 0;
while N > 0 do
begin
if (N mod 10) mod 3 = 0 then
count := count + 1;
N := N div 10;
end;
writeln('Count = ', count);
readln;
end.