• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Прошу, проверьте задачу, очень срочно нужно.

Imm0rtal

Ученик
Регистрация
23 Дек 2009
Сообщения
2
Реакции
0
Баллы
0
Прошу, проверьте задачу, очень срочно нужно.

Написать программу, которая подсчитывает количество нечетных элементов массива, заданного датчиком случайных чисел. Количество элементов в массиве [1..30],диапазон значений (20..100).
var
a:array[20..100] of integer;
i,n,p:integer;
Begin
write('bb n');readln(n);
P:=1;
For i:=20 to 100 begin
a:=random(31)-1;
writeln (a);
if i mod 2<>0 then P:=P*a;
end;
writeln('Произведение элементов с нечетными номерами:',P);
readln;
END.
 
var
a:array[1..30] of integer;
i,n,p:integer;
Begin
n:=0;
P:=1;
For i:=1 to 30 begin
a:=21+random(78);
writeln (a);
if i mod 2<>0 then n:=n+1; P:=P*a;
end;
writeln(' количество нечетных элементов: ',n);
writeln('Произведение элементов с нечетными номерами:',P); <-если нужно произведение то оставь а если только количество то убери
readln;
END.

вроде так
 
var
a:array[1..30] of integer;
i,n,p:integer;
Begin
n:=0;
P:=1;
For i:=1 to 30 begin
a:=21+random(78);
writeln (a);
if i mod 2<>0 then n:=n+1; P:=P*a;
end;
writeln(' количество нечетных элементов: ',n);
writeln('Произведение элементов с нечетными номерами:',P); <-если нужно произведение то оставь а если только количество то убери
readln;
END.

вроде так


Не совсем так. Есть ошибки. И, увы, немало. "Так" будет так:
Код:
var
 a:array[1..30] of integer;
 i,j,n:integer;
 P:Extended;
Begin
 Randomize;
 n:=0;
 P:=1;
 For i:=1 to 30 do 
   a[i]:=20+random(81);
 For i:=0 to 2 do
   begin
     For j:= 1 to 10 do write (a[i*10+j]:4);
     writeln;
   end;
 For i:=1 to 30 do
  if i mod 2>0 then 
   begin
    n:=n+1; 
    P:=P*a[i];
   end;
 writeln(' количество нечетных элементов: ',n);
 writeln('Произведение элементов с нечетными номерами:',P);
 readln;
END.

Если верить условию, что ДЕЙСТВИТЕЛЬНО необходимо найти произведение всех членов массива с нечетными номерами, то число это столь велико, что даже формат LongInt не спасает, и приходится переходить на Extended. Впрочем, подозреваю, что поиск произведения - самодеятельность, поскольку в условии задачи об этом ничего нет.
 
Действительно, зачем вам искать произведение? Это ведь не задано в условии задачи!
 
Назад
Сверху