Задачка на Pascal

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by LASS0, 26 Mar 2009.

  1. LASS0

    LASS0 Member

    Joined:
    3 Jan 2009
    Messages:
    0
    Likes Received:
    17
    Reputations:
    1
    Небольшая задачка на массивы, выручайте у самого мозгов не хватает(

    Дан массив F(20). Найти сумму положительных элементов, лежащих перед наименьшим элементом этого массива и количество отрицательных элементов, лежащих после наименьшего элемента.
     
  2. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    var
    f: array [1..20] of integer;
    sumdo, sumposle, pos,i, min:integer;
    begin
    min:=0;
    for i:=1 to 20 do begin
    if f>min
    then begin min:=f;
    pos:=i;
    end;
    //Вычсляем минимальный элемен массива и его позицию в массиве

    for i:=1 to pos-1 do begin;
    if f>=0
    Then sumdo:=sumdo+f
    end;
    //Считаем положительные до минимального элемента

    for i:=pos+1 to 20
    do begin
    if f<0
    Then inc(sumposle);
    end;
    //Считаем отрицательные после минимального элемента
    -
    Как-то так. Писал прям в ответе, не проверял, но думаю смысл ясен.
     
    #2 s0l_ir0n, 26 Mar 2009
    Last edited: 26 Mar 2009
  3. lll6

    lll6 Elder - Старейшина

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Code:
    var
    f: array [1..20] of integer;
    sumdo, sumposle, pos,i, min:integer;
    begin
    min:=maxint;
    for i:=1 to 20 do begin
    readln(f[i]);
    if f[i]<min then begin 
    min:=f[i];
    pos:=i;
    end;
    end;
    //Вычсляем минимальный элемен массива и его позицию в массиве
    
    for i:=1 to pos-1 do
    if f[i]>0 then sumdo:=sumdo+f[i];
    //Считаем положительные до минимального элемента
    
    for i:=pos+1 to 20 do
    if f[i]<0 Then inc(sumposle);
    //Считаем отрицательные после минимального элемента
    Writeln('Сумма:',sumdo);
    Writeln('Количество:',sumposle);
    End.
    Подправил решение s0l_ir0n, было несколько ошибок.