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

Помогите решить задачи в Pascal
1. Поменять местами максимальный и минимальный элемент массива.
2. Вывести четные числа среди положительных элементов
3. Напечатать сумму и номера положительных элементов после первого нулевого элемента

  1. Ответ
    Ответ дан dishkina
    1)
    // здесь нужно объявить количество элементов или ввести с помощью readln
    var 
    a: array [1..N] of integer;
    i: integer;
    min: integer;
    max: integer;
    minnum: integer;
    maxnum: integer;

    begin
    // здесь должен быть ввод значений массива в цикле
    // for i:=1 to N do
    a[i]=Random(100); или через readln;

    min := a[1];
    minnum := 1;
    max := a[1];
    maxnum := 1;
    for var i:=2 to N do
    begin
      if a[i]<min then
        begin
          min := a[i];
          minnum := i;
        end;
      if a[i]>max then
        begin
          max := a[i];
          maxnum := i;
        end;
    end;
    a[maxnum]=min;
    a[minnum]=max;
    //здесь вывод нового массива
    end.

    2)
    for i:=1 to N do
    if a[i]>0 then
      if a[i] mod 2 = 0 then
         write(a[i], ' ');
    3)
    var

    sum: integer;
    start: integer;
    for i:=1 to N do
    if a[i]=0 then
       start=i+1;  ////нашли первый нулевой, начинаем дальше со следующего
    for i:=start to N do
    begin
    if a[i]>0 then
       begin
        sum=sum+a[i];
       
    write(i, ' '); ///номер положительного элемента
       end;
    writeln;
    write('Сумма =',sum);
    end;













    1. Ответ
      Ответ дан fweetrpmt
      Спасибо!