Помогите составить 2 программы

Тема в разделе "Pascal and Delphi", создана пользователем ShuriK93, 2 янв 2011.

  1. ShuriK93

    ShuriK93 Гость

    Помогите пожалуйста составить 2 программы (Form)

    1.Найти среднее арифметическое положительных чисел, стоящих на нечетных местах, и количество чисел, меньших заданного B

    2.Сформировать новый массив из отрицательных элементов первого массива с номерами кратными 4 и элементов второго массива, меньших значения максимального элемента первого массива
     
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Nomer 1
    Код (Delphi):
    const n=10;
    var a:array[1..N] of real;
    i,k,ks,b:integer;
    s:real;
    begin
    k:=0;
    s:=0;
    ks:=0;
    writeln('vvedite ''b');
    readln(b);
    for i:=1 to N do
    begin
    readln(a[i]);
    if (a[i]>0)and(i mod 2 = 1) then begin ks:=ks+1; s:=s+a[i]; end;
    if a[i]<b then k:=k+1;
    end;
    if ks<>0 then s:=s/ks;
    writeln('ser arifm=',s);
    writeln('count<b',k);
    readln;
    end.
    В новых масивов должно быть два? Если один то в масив заносятся сначала отрицательные елементы, а потом значения меньше максимума первого?
     
  3. ShuriK93

    ShuriK93 Гость

    Да, массив должен один получиться, сначала отрицательные элементы, а потом значения меньше максимума первого.

    Спасибо за номер 1 большое
     
  4. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    if Odd(i) then if a>0 then begin ks:=ks+1; s:=s+a; end;
     
  5. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Исправил.

    №2
    Код (Text):
    const n=10;
    m=5;
    var a:array[1..n] of real;
    b:array[1..m] of real;
    c:array[1..n+m] of real;
    i,k:integer;
    max:real;
    begin
    k:=0;
    for i:=1 to n do
    begin
    readln(a[i]);
    if (a[i]<0)and(i mod 4 =0) then begin k:=k+1; c[k]:=a[i]; end;
    if i=1 then max:=a[i];
    if max<a[i] then max:=a[i];
    end;
    for i:=1 to m do
    begin
    readln(b[i]);
    if b[i]<max then begin k:=k+1; c[k]:=b[i]; end;
    end;
    for i:=1 to k do
    writeln('c[',i,']=',c[i]);
    readln;
    end.
    Код писал прямо тут
     
Загрузка...

Поделиться этой страницей