Відомо результати плавання вільним стилем на дистанції 50 м п’яти учнів кожного з трьох 10-х класів школи. Розробіть код, за до якого визначається середній час запливу учнями кожного класу.
{Автор: Рудницкий В. Л. Ограничения: Последовательность не может быть длинее NN. Откуда: Олимпиада, KZ, 2016.} const NN = 10000; var a : array [1 .. NN] of integer; i, j, d, N: integer; begin write('Введите длину массива: '); readln(N); writeln('Введите массив чисел через пробел:'); for i := 1 to N do read( a[i] ); { Удаляем повторы чисел } for i := 1 to N-1 do for j := i+1 to N do if a[i] = a[j] then a[j] := 0; { Создаем последовательность заполняя не нужные числа нулями } for i := 2 to N do if ( a[i-1] > a[i] ) and ( a[i] <> 0 ) then a[i] := 0; { Суммируем не нулевые элементы } d := 0; for i := 1 to N do if a[i] <> 0 then d := d + 1; writeln('Максимальная длинна массива после удалений: ',d); end.
Т.к. язык программирования не указан, сделаю на свой вкус, т.е. C++. При копировании кода из IDE на сайт автоматически удаляется перенос строки. Будет прикреплен скриншот того, как должен выглядеть код
#include <stdlib.h>#include <stdio.h>#include <locale> void main(){ setlocale(LC_ALL, "RUSSIAN"); int i, n, an; an = 0; printf("\n Введите n ->"); scanf_s("%d", &n); for (i = 1; i <= n; i++) an = an+i; printf("\n Сумма первых n натуральных чисел равна: %d", an); an = 0; for (i = 1; i <= n; i++) an = an + i*i; printf("\n Сумма квадратов первых n натуральных чисел равна: %d", an); an = 0; for (i = 1; i <= n; i++) if (i % 2 == 0)an = an + i; printf("\n Сумма всех четных чисел в диапозоне от 1 до n: %d", an); an = 0; for (i = 10; i <= 99; i++) an = an + i; printf("\n Сумма всех двухзначных чисел равна: %d \n", an); system("pause");}
Ограничения: Последовательность не может быть длинее NN.
Откуда: Олимпиада, KZ, 2016.}
const NN = 10000;
var a : array [1 .. NN] of integer; i, j, d, N: integer;
begin
write('Введите длину массива: '); readln(N);
writeln('Введите массив чисел через пробел:');
for i := 1 to N do read( a[i] );
{ Удаляем повторы чисел }
for i := 1 to N-1 do
for j := i+1 to N do
if a[i] = a[j] then a[j] := 0;
{ Создаем последовательность заполняя не нужные числа нулями }
for i := 2 to N do if ( a[i-1] > a[i] ) and ( a[i] <> 0 ) then a[i] := 0;
{ Суммируем не нулевые элементы }
d := 0; for i := 1 to N do if a[i] <> 0 then d := d + 1;
writeln('Максимальная длинна массива после удалений: ',d);
end.
#include <stdlib.h>#include <stdio.h>#include <locale>
void main(){ setlocale(LC_ALL, "RUSSIAN"); int i, n, an; an = 0; printf("\n Введите n ->"); scanf_s("%d", &n); for (i = 1; i <= n; i++) an = an+i; printf("\n Сумма первых n натуральных чисел равна: %d", an); an = 0; for (i = 1; i <= n; i++) an = an + i*i; printf("\n Сумма квадратов первых n натуральных чисел равна: %d", an); an = 0; for (i = 1; i <= n; i++) if (i % 2 == 0)an = an + i; printf("\n Сумма всех четных чисел в диапозоне от 1 до n: %d", an); an = 0; for (i = 10; i <= 99; i++) an = an + i; printf("\n Сумма всех двухзначных чисел равна: %d \n", an); system("pause");}