profile
Опубликовано 5 лет назад по предмету Информатика от Marlishe

Ввести массив a(n). Если массив содержит не больше двух нулевых элементов, то уменьшить положительные элементы массива в 2 раза, иначе - найти минимальный
по модулю элемент массива. Pascal

  1. Ответ
    Ответ дан Gleb1Kosyrev
    var a:array of real;
    k,i,n:integer;
    min,minr:real;
    begin;
    min:=2147483647;
    write('Введите размерность массива:');
    readln(n);
    setlength(a,n+1);
    for i:=1 to n do
    begin;
    readln(a[i]);
    if a[i]=0 then inc(k);
    end;
    if k<2 then
    begin;
    writeln('Final array:');
    for i:=1 to n do
      begin;
       a[i]:=a[i]/2;
       write(a[i]:4);
      end;
    end
    else
    begin;
      for i:=1 to n do
        if abs(a[i])<min then
         begin;
          min:=abs(a[i]);
          minr:=a[i];
         end;
    write('Result:',minr);
    end;
    end.
    1. Ответ
      Ответ дан Marlishe
      что значит эта строчка: min:=2147483647;?
    2. Ответ
      Ответ дан Gleb1Kosyrev
      Это максимум типа integer. Чтобы не было исключений.
    3. Ответ
      Ответ дан Marlishe
      Программа уменьшает все элементы массива на 2, а нужно только положительные(
    4. Ответ
      Ответ дан Marlishe
      И в случае нахождения минимального элемента массива, 0, как я понимаю, не должен учитываться
    5. Ответ
      Ответ дан Gleb1Kosyrev
      var a:array of real;
      k,i,n:integer;
      min,minr:real;
      begin;
      min:=2147483647;
      write('Введите размерность массива:');
      readln(n);
      setlength(a,n+1);
      for i:=1 to n do
      begin;
      readln(a[i]);
      if a[i]=0 then inc(k);
      end;
      if k<2 then
      begin;
      writeln('Final array:');
      for i:=1 to n do
      begin;
      if a[i]>0 then a[i]:=a[i]/2;
      write(a[i]:4);
      end;
      end
      else
      begin;
      for i:=1 to n do
      if abs(a[i])<min then
      begin;
      min:=abs(a[i]);
      minr:=a[i];
      end;
      write('Result:',minr);
      end;
      end.
Самые новые вопросы