• PascalABCNET

    Указание: для каждой задачи создайте алгоритм и программу. Заполните одномерный числовой массив D(15) случайными целыми числами в интервале [-20; 18]. Выведите значения элементов массива сначала в столбик, а затем в строку, причем на каждый элемент отведите 4 позиции. Ответ каждой задачи следует выводить с новой строки и с пояснительным текстом. Кроме того, следует каждый раз производить пвывод массива на экран, если в нем произошли изменения: перестановка, замена, изменение значения элементов и т.д.

    Задание 1. Найдите отдельное количество отрицательных и положительных элементов массива.
    Задание 2. Найдите произведение элементов, имеющих значение меньше -2 (минус два).
    Задание 3. Найдите максимальный элемент массива из элементов, стоящих на местах, номера которых кратны пяти.
    Задание 4. Замените отрицательные элементы, стоящие на нечётных местах на последний элемент массива.
    Задание 5. Если в массиве имеются нулевые элементы, то найдите сумму элементов массива, имеющих значение, кратное трем, иначе выведите на экран положительные элементы массива.
    Задание 6*. Найдите в массиве элементы, кратные 12, и вывести на экран их номера. Если таких элементов нет, то выведите сообщение об этом на экран.
    Задание 7*. Выведите на экран одномерный массив, раскрасив в нем красным цветом кратные 12 элементы.

Ответы 1

  • const  n=15;var  d:array[1..n] of integer;  i:integer;begin  //Инициализация и вывод  Randomize;  Writeln('Исходный массив в столбик:');  for i:=1 to n do  begin    d[i]:=Random(-20,18);    Writeln(d[i]:4)  end;  Writeln('Исходный массив в строку:');  for i:=1 to n do Write(d[i]:4);  Writeln;  {  Задание 1. Найдите отдельное количество  отрицательных и положительных элементов массива.  }  begin    var ineg,ipos:integer;    ineg:=0; ipos:=0;    for i:=1 to n do      if d[i]>0 then Inc(ipos)      else if d[i]<0 then Inc(ineg);    Writeln('Задание 1');    Writeln('Количество отрицательных элементов ',ineg,      ', положительных- ',ipos)  end;  {  Задание 2. Найдите произведение элементов,  имеющих значение меньше -2  }  begin    var p:integer:=1;    for i:=1 to n do      if d[i]<-2 then p*=d[i];    Writeln('Задание 2');    Writeln('Произведение элементов, меньших -2: ',p)  end;  {  Задание 3. Найдите максимальный элемент массива из элементов,  стоящих на местах, номера которых кратны пяти.  }  begin    var dmax:integer;    i:=10; dmax:=d[5];    while i<=n do begin      if dmax<d[i] then dmax:=d[i];      i+=5    end;    Writeln('Задание 3');    Writeln('Максимальный элемент массива из элементов,');    Writeln('стоящих на местах с номером, кратным 5: ',dmax)  end;  {  Задание 4. Замените отрицательные элементы,  стоящие на нечётных местах на последний элемент массива  }  i:=1;  while i<=n do begin    if d[i]<0 then d[i]:=d[n];    i+=2  end;  Writeln('Задание 4');  Writeln('Отрицательные элементы, стоящие на нечётных местах,');  Writeln('заменены последним элементом массива:');  for i:=1 to n do Write(d[i]:4);  Writeln;  {  Задание 5. Если в массиве имеются нулевые элементы,  то найдите сумму элементов массива, имеющих значение, кратное трем,  иначе выведите на экран положительные элементы массива  }  begin    var sum:integer:=0;    var FlagSum:boolean:=False;    for i:=1 to n do    begin      Flagsum:=(d[i]=0);      if FlagSum then break    end;    Writeln('Задание 5');    if FlagSum then begin      for i:=1 to n do        if (d[i] mod 3)=0 then sum+=d[i];      Writeln('Сумма элементов, имеющих значение, кратное трем: ',sum)    end    else    begin      Writeln('Положительные элементы массива:');      for i:=1 to n do if d[i]>0 then Write(d[i]:4);      Writeln    end  end;  {  Задание 6*. Найти в массиве элементы, кратные 12,  и вывести на экран их номера. Если таких элементов нет,  то вывести сообщение об этом на экран.  }  Writeln('Задание 6*');  begin    var k:integer:=0;    var p:array[1..n] of integer;    for i:=1 to n do      if (d[i] mod 12)=0 then begin Inc(k); p[k]:=i end;    if k>0 then begin      Writeln('Номера элементов массива, кратных 12:');      for i:=1 to k do Write(p[i]:3);      Writeln    end    else Writeln('В массиве нет элементов, кратных 12')  endend.Тестовое решение:Исходный массив в столбик: -12  -5  -2  15 -20  13  -4  -2  12  17  12  14   2   3 -20Исходный массив в строку: -12  -5  -2  15 -20  13  -4  -2  12  17  12  14   2   3 -20Задание 1Количество отрицательных элементов 7, положительных- 8Задание 2Произведение элементов, меньших -2: -96000Задание 3Максимальный элемент массива из элементов,стоящих на местах с номером, кратным 5: 17Задание 4Отрицательные элементы, стоящие на нечётных местах,заменены последним элементом массива: -20  -5 -20  15 -20  13 -20  -2  12  17  12  14   2   3 -20Задание 5Положительные элементы массива:  15  13  12  17  12  14   2   3Задание 6*Номера элементов массива, кратных 12:  9 11Задание 7*. Выведите на экран одномерный массив,раскрасив в нем красным цветом кратные 12 элементы.uses  GraphABC;const  n=15;var  d:array[1..n] of integer;  i:integer;begin  SetWindowSize(800,600);  Randomize;  for i:=1 to n do  begin    d[i]:=Random(-20,18);    if (d[i] mod 12)=0 then begin      SetFontColor(clRed);      Write(d[i]:4);      SetFontColor(clBlack)    end    else Write(d[i]:4)  end;  Writelnend.
    • Автор:

      big foot
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years