Разработать схему алгоритма, который вводит массив из n целых чисел и выводит номера отрицательных элементов и сами эти элементы. протестировать алгоритм для следующих массивов: а) 3 5 -2 3 -2 0 -6 -8 1 б) -1 -2 -3 -4 0 -1 2 3 написать программу на языке паскаль.
149
449
Ответы на вопрос:
Const nn = 50; var a,b,nb: array[1..nn] of integer; i,n,j: integer; begin write('введите количество элементов в массиве (n< 51): '); read(n); writeln('вводите элементы массива'); j: =0; for i: =1 to n do begin read(a[i]); if a[i]< 0 then begin inc(j); b[j]: =a[i]; nb[j]: =i end end; if j> 0 then begin write('отрицательные элементы: '); for i: =1 to j do write(b[i],' '); writeln; write('индексы отрицательных элементов в массиве: '); for i: =1 to j do write(nb[i]: 3); writeln end end. результаты тестирования: введите количество элементов в массиве (n< 51): 9 вводите элементы массива 3 5 -2 3 -2 0 -6 -8 1 отрицательные элементы: -2 -2 -6 -8 индексы отрицательных элементов в массиве: 3 5 7 8 введите количество элементов в массиве (n< 51): 8 вводите элементы массива -1 -2 -3 -4 0 -1 2 3 отрицательные элементы: -1 -2 -3 -4 -1 индексы отрицательных элементов в массиве: 1 2 3 4 6
Я здесь и для *(умножения тоже сделал) program gt; label 1; var a: string; i,l,s,s2,s3,j: longint; begin read(a); l: =length(a); s: =0; s2: =0; for i: =1 to l do begin if (a[i]='+')or(a[i]='-')or(a[i]='*')then goto 1; end; 1: for j: =1 to i-1 do begin if a[j]='1' then s: =s*10+1; if a[j]='2' then s: =s*10+2; if a[j]='3' then s: =s*10+3; if a[j]='4' then s: =s*10+4; if a[j]='5' then s: =s*10+5; if a[j]='6' then s: =s*10+6; if a[j]='7' then s: =s*10+7; if a[j]='8' then s: =s*10+8; if a[j]='9' then s: =s*10+9; if a[j]='0' then s: =s*10+0; end; for j: =i+1 to l do begin if a[j]='1' then s2: =s2*10+1; if a[j]='2' then s2: =s2*10+2; if a[j]='3' then s2: =s2*10+3; if a[j]='4' then s2: =s2*10+4; if a[j]='5' then s2: =s2*10+5; if a[j]='6' then s2: =s2*10+6; if a[j]='7' then s2: =s2*10+7; if a[j]='8' then s2: =s2*10+8; if a[j]='9' then s2: =s2*10+9; if a[j]='0' then s2: =s2*10+0; end; if a[i]='+' then s3: =s+s2; if a[i]='-' then s3: =s-s2; if a[i]='*' then s3: =s*s2; writeln(s3); end. 2)более проще program gt; label 1; var a: string; i,l,s,s2,s3,j: longint; begin read(a); l: =length(a); s: =0; s2: =0; for i: =1 to l do begin if (a[i]='+')or(a[i]='-')or(a[i]='*')then goto 1; end; 1: for j: =1 to i-1 do begin s: =s*10+ord(a[j])-48; end; for j: =i+1 to l do begin s2: =s2*10+ord(a[j])-48; end; if a[i]='+' then s3: =s+s2; if a[i]='-' then s3: =s-s2; if a[i]='*' then s3: =s*s2; writeln(s3); end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Liliya3456711.12.2020 05:56
-
salavat5sal30.04.2022 18:28
-
Jdjdkdjd08.01.2020 23:26
-
rakhmanets14.07.2020 01:08
-
Assel080231.05.2022 13:29
-
MashaSay08.05.2023 23:32
-
Masha0533223420.08.2020 11:14
-
Печенька170110.05.2020 12:05
-
kurstak7722.12.2020 14:47
-
lera31052006923.04.2021 22:45
![Caktus Image](/tpl/img/cactus.png)
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.