1.Задан одномерный целочисленный массив из n элементов (n ≤ 20, вводится пользователем с клавиатуры).
Найти:
1.Суму элементов массива с четным номером.
2.Номеры элементов, превышающих среднего арифметического всех элементов массива.
3.Найменший с нечетным элементов массива.
program proBEERka;
uses crt;
var a:array [1..13] of integer;
i,s,min:integer;
sa:real;
begin
clrscr;
randomize;
for i:=1 to 13 do begin
a:=random(100)-50;
writeln(i,' element =',a);
end;
s:=0;
sa:=0;
for i:=1 to 13 do begin
if not(odd(i)) then
s:=s+a;
end;
writeln('suma=',s:4);
for i:=1 to 13 do
if i>sa then
sa:=(sa+a)/i;
writeln('element nomer ',i,' bilshe serednyogo arefmetuchnogo');
for i:=1 to 13 do
min:=a[1];
if ( i mod(2)<>0) and (a<min) then
min:=a;
writeln ('naymenshuy element',i);
readkey;
end.
Помогите подправить код... заранее спс...
помогите исправить
Код: Выделить всё
for i:=1 to 13 do
if i>sa then
sa:=(sa+a[i])/i;
writeln('element nomer ',i,' bilshe serednyogo arefmetuchnogo');ъ
for i:=1 to 13 do
min:=a[1];
if ( i mod(2)<>0) and (a[i]<min) then
min:=a[i];
writeln ('naymenshuy element',i);
1. if i>sa then
sa:=(sa+a)/i;
+ writeln('element nomer ',i,' bilshe serednyogo arefmetuchnogo'); уже после цикла
сам понимаешь что делаешь? фигня какая-то.
2. опять же, несколько действий в цикле без begin..end (или они были нарошно опущены?)
for i:=1 to 13 do
min:=a[1]; - это надо вынести перед циклом ибо будет затиратся всегда min значение, а сам цикл начинать с 3го элемента
if ( i mod(2)<>0) and (a<min) then
min:=a;
Помогу, за оплату.
Стучите в асю 11один11-5шесть5шесть, обсудим.
Стучите в асю 11один11-5шесть5шесть, обсудим.
1) извини но лаве нету...
так если sa я поставлю перед IF то результат не измениться...
а после цикла что? ведь мне надо вывести номер элемента....
1. if i>sa then
sa:=(sa+a)/i;
+ writeln('element nomer ',i,' bilshe serednyogo arefmetuchnogo'); уже после цикла
сам понимаешь что делаешь? фигня какая-то.
так если sa я поставлю перед IF то результат не измениться...
а после цикла что? ведь мне надо вывести номер элемента....
дак ты чо делаешь этим циклом?
как я понимаю пункт 2.
у тя уже есть сумма массива (s) находишь средее арифметическое s := s / 13; дальше идешь циклом
for i:=1 to 13 do
if i>s then
writeln('element nomer ',i,' bilshe serednyogo arefmetuchnogo');
вот и вся задача)
а то что ты ищешь не есть средее арифметическое
как я понимаю пункт 2.
у тя уже есть сумма массива (s) находишь средее арифметическое s := s / 13; дальше идешь циклом
for i:=1 to 13 do
if i>s then
writeln('element nomer ',i,' bilshe serednyogo arefmetuchnogo');
вот и вся задача)
а то что ты ищешь не есть средее арифметическое