Есть ответ 👍

Pascalabcnet указание: для каждой создайте алгоритм и программу. заполните одномерный числовой массив d(15) случайными целыми числами в интервале [-20; 18]. выведите значения элементов массива сначала в столбик, а затем в строку, причем на каждый элемент отведите 4 позиции. ответ каждой следует выводить с новой строки и с пояснительным текстом. кроме того, следует каждый раз производить пвывод массива на экран, если в нем произошли изменения: перестановка, замена, изменение значения элементов и т.д. 1. найдите отдельное количество отрицательных и положительных элементов массива. 2. найдите произведение элементов, имеющих значение меньше -2 (минус два). 3. найдите максимальный элемент массива из элементов, стоящих на местах, номера которых кратны пяти. 4. замените отрицательные элементы, стоящие на нечётных местах на последний элемент массива. 5. если в массиве имеются нулевые элементы, то найдите сумму элементов массива, имеющих значение, кратное трем, иначе выведите на экран положительные элементы массива. 6*. найдите в массиве элементы, кратные 12, и вывести на экран их номера. если таких элементов нет, то выведите сообщение об этом на экран. 7*. выведите на экран одномерный массив, раскрасив в нем красным цветом кратные 12 элементы.

142
210
Посмотреть ответы 2

Ответы на вопрос:


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')   end end. тестовое решение: исходный массив в столбик:   -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;   writeln end.

Команда 1: из числа 1 можно выполнить 2 команды, получится: 1)  1+2=3 2)  1*3=3 команда 2: c каждым полученным числом  выполняем еще по 2 команды: первое число: 1)  3+2=5 2)  6*3=18  второе число: 1) 3+2=5 2)  6*3=18 команда 3: у нас получилось 4 числа, проделаем то  же самое первое число:   1) 5+2=7 2) 5*3=15 второе число: 1)18+2=20 2)18*3=54 третье число:   1) 5+2=7 2) 5*3=15 четвертое число : 1)18+2=20 2)18*3=54 в итоге, у нас получилось 4 различных числа (так как при выполнении со второй командой, числа получались те же самые)

Популярно: Информатика