Форум » Массивы, сортировка, работа с файлами » С2 - правильно ли? » Ответить

С2 - правильно ли?

Ion: Условие: есть одномерный целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0 до 10000. Задача: найти и вывести на экран сумму трёхзначных элементов массива, которые не делятся на 5. Гарантируется, что хотя бы один такой элемент есть. Запрещается использовать неописанные переменные, но разрешается не использовать часть из них. Начало стандартное, с переменными i, j, s : integer. Моё решение: s:=0; for i:=1 to N do if (a[ i]>=100) and (a[ i]<=999) and (a[ i] mod 5 <> 0) then s:=s+a[ i]; write(s); readln Вроде бы всё чисто? Придраться невозможно?

Ответов - 4

Алексей28: Для 13 задания, C2, в "Задачах для тренировки" будет приемлем такой вариант решения const N:=30; var a: array [1..N] of integer; i, j, x: integer; begin for i:= 1 to N do readln(a); readln(x); j:=N; for i:= 1 to N do if (a=x) and (i<=j) then j:=i else writeln ('Нет'); writeln (j) end.

Поляков: Алексей28 пишет: будет приемлем такой вариант решения Думаю, что нет. Попробуйте набрать программу и погонять ее на разных массивах. В том числе на таких, где нет нужного элемента.

Алексей28: Я доработал. А теперь? const N=5; var a: array [1..N] of integer; i, j, x: integer; begin for i:= 1 to N do readln(a); readln(x); j:=N; for i:= 1 to N do if (a=x) and (i<=j) then begin j:=i; writeln(j) end; if (a[N]<>x) and (j=N) then writeln ('Нет'); end.


ДубинкинаТ: Задание С2: (как-будто с сайта СтатГрада) Опишите алгоритм поиска минимальной четной суммы двух последовательных элементов (элементы массива положительные) в целочисленном массиве из 70 элементов. Гарантируется, что хотя бы одна четная сумма есть. Решение: ..... for i:=1 to N do readln(A); j:=1; while (A[j] + A[j+1]) mod 2=1 do j:=j+1; {первая четная сумма} MinSum:= A[j] + A[j+1]; for i:=j+1 to N-1 do if ( A [ i] + A[i+1] < MinSum) and ( ( A [ i] + A[i+1] ) mod 2=0) then MinSum := A [ i] + A[i+1]; writeln(MinSum); ..... Подскажите, есть ли другой вариант начального значения MinSum? В общем случае - каким устанавливать начальное значение мин, если верхняя граница не задана, а на значения накладываются доп.условия типа четности, делимости и т.п.



полная версия страницы