Предмет: Информатика,
автор: ЕкатеринаЯблочкова
Дан массив из N элементов. Определить сумму тех, которые нечетны и отрицательны.
Ответы
Автор ответа:
0
//Pascal
//Заполнение массива случайными числами
var
A: array[1..255] of integer;
i, sum, N: integer;
begin
write('Введите N: '); readln(N);
randomize; //В PascalABC.NET можно убрать
for i := 1 to N do
begin
A[i] := random(21)-10; //Случайные числа от -10 до 10
if ((A[i] mod 2 <> 0) and (A[i] < 0)) then sum := sum + A[i];
write(A[i], ' ');
end;
writeln;
writeln('Сумма отрицательных и нечетных = ', sum);
readln;
end.
//Pascal
//Заполнение массива с клавиатуры
var
A: array[1..255] of integer;
i, sum, N: integer;
begin
write('Введите N: '); readln(N);
for i := 1 to N do
begin
write('A[', i, '] = '); readln(A[i]);
if ((A[i] mod 2 <> 0) and (A[i] < 0)) then sum := sum + A[i];
end;
writeln;
writeln('Сумма отрицательных и нечетных = ', sum);
readln;
end.
//Заполнение массива случайными числами
var
A: array[1..255] of integer;
i, sum, N: integer;
begin
write('Введите N: '); readln(N);
randomize; //В PascalABC.NET можно убрать
for i := 1 to N do
begin
A[i] := random(21)-10; //Случайные числа от -10 до 10
if ((A[i] mod 2 <> 0) and (A[i] < 0)) then sum := sum + A[i];
write(A[i], ' ');
end;
writeln;
writeln('Сумма отрицательных и нечетных = ', sum);
readln;
end.
//Pascal
//Заполнение массива с клавиатуры
var
A: array[1..255] of integer;
i, sum, N: integer;
begin
write('Введите N: '); readln(N);
for i := 1 to N do
begin
write('A[', i, '] = '); readln(A[i]);
if ((A[i] mod 2 <> 0) and (A[i] < 0)) then sum := sum + A[i];
end;
writeln;
writeln('Сумма отрицательных и нечетных = ', sum);
readln;
end.
Приложения:


Автор ответа:
0
Почему до 255?
Автор ответа:
0
И какой вариант вернее?
Автор ответа:
0
Оба варианты верны. В задании не сказано, как заполнять массив. Просто сделал второй вариант на всякий случай.
По поводу размера массива. В старых версиях паскаля было ограничение на 256 элементов. Ты ведь не указываешь, на каком паскале ты делаешь, я и делаю более менее универсальный вариант.
По поводу размера массива. В старых версиях паскаля было ограничение на 256 элементов. Ты ведь не указываешь, на каком паскале ты делаешь, я и делаю более менее универсальный вариант.
Автор ответа:
0
Если делаешь во FreePascal или PascalABC.NET, можешь сделать так:
В var не задавать размер массива:
"A: array of integer;"
После ввода размера массива(N) добавить:
"SetLength(A, N);"
И сделать цикл таким:
"for i:=0 to N-1 do"
В var не задавать размер массива:
"A: array of integer;"
После ввода размера массива(N) добавить:
"SetLength(A, N);"
И сделать цикл таким:
"for i:=0 to N-1 do"
Похожие вопросы
Предмет: Русский язык,
автор: Koshkamur99
Предмет: Математика,
автор: Аноним
Предмет: Қазақ тiлi,
автор: turmukhambetoverkin
Предмет: Математика,
автор: Аноним
Предмет: Литература,
автор: соняжужа