Немного теории. Если число одновременно кратно a и b, то она кратно и их произведению, т.е. a x b. В нашем случае числа должны быть кратны 2х3=6. первое натуральное число, кратное 6, это 6. Далее следуют 12, 18, ... Задача сводится к нахождению суммы ряда 6+12+18+...+6*n, где n=1000, т.е. s=6+12+18+...+6000. Это сумма арифметической прогрессии и она может быть найдена по формуле: Среднее арифметическое такого ряда будет равно сумме, деленной на количество членов ряда n: Теперь можно решить задачу даже "в уме": avg=(6+6000)/2=3003, s=3003x1000=3003000. Это будут контрольные значения для проверки работы программы.
//PascalAC.Net 3.0, сборка 1066 const n=1000; var i:integer; s:longint; begin s:=0; for i:=1 to 1000 do s:=s+6*i; Writeln('Сумма=',s,', среднее арифметическое=',s/n) end.
Результат выполнения программы: Сумма=3003000, среднее арифметическое=3003
Var a:array[1..100,1..100] of integer; i,j,n,m,max,min:integer; begin write ('Введите количество строк: '); read(n); writeln; write ('Введите количество элементов в строке: '); read(m); writeln; writeln('Введите массив: '); for i:=1 to n do begin for j:=1 to m do begin write(' a[',i,',',j,']='); read(a[i,j]); end; writeln; end; writeln; writeln('Исходный массив: '); for i:=1 to n do begin for j:=1 to m do write(a[i,j],' '); writeln; end; writeln; writeln('Конечный массив: '); for i:=1 to n do begin min:=a[i,1]; max:=a[i,1]; for j:=2 to m do begin if (min>a[i,j]) then min:=a[i,j]; if (max
// PascalABC.Net 3.0, сборка 1066 var s, wd: string; n, pt: integer;
begin Write('Введите строку: ');Readln(s); n := Length(s); pt := 1; repeat // Пропускаем все символы до первого непробельного while pt <= n do if s[pt] = ' ' then Inc(pt) else break; if pt <= n then begin // Выделяем очередное слово wd := ''; while pt <= n do if s[pt] <> ' ' then begin wd := wd + s[pt]; Inc(pt) end else break; if (wd <> '') and (LowCase(wd[1]) in ['м'..'я']) then Writeln(wd) end until pt > n; end.
Тестовое решение: Введите строку: **А роза упала на лапу Азора ** роза упала на
А вот так версия 3.0 позволяет решить задачу "по-современному":
// PascalABC.Net 3.0, сборка 1066 begin var s:=ReadString('Введите строку: '); Writeln('Результат: ',s.ToWords(' ').Where(x->x[1] in ['м'..'я'])) end.
i=0;
k=0;
while(i<=1000){
if(k%2==0 && k%3==0){
i++;
sum+=k;
}
k++;
}
arif = sum/i;
std::cout << "Среднее арифметическое = " << arif;
std::cout << endl << "Сумма чисел = " << sum;