24.05.2011, 18:39 | #1 (permalink) |
Member
Регистрация: 24.05.2011
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Одномерный массив. Рассчитать сопротивление сложного соединения.
Вот условие задачи: Рассчитать сопртивление сложного соединения,в котором паралельно соединены цепочки последовательных соединений.Сопротивления задаются в одномерном массиве,цепочки разделены между собой нулями. (Тест:Если задан массив: 10 20 0 10 5 5 4 ,то ответом будет 13,33 Ом) var sum_r,sum,pr,r: integer; ans: real; begin sum_r:=0; pr:=1; while not eoln do begin read(r); if r<>0 then sum_r:=sum_r+r else begin sum:=sum+sum_r; pr:=pr*sum_r; sum_r:=0; end; end; if sum_r<>0 then begin sum:=sum+sum_r; pr:=pr*sum_r; end; ans:=pr/sum; writeln(ans:2,' Om'); end. Вот решение нашел,но че-т под массив написать не могу,не работает прога Помогите.. |
24.05.2011, 18:39 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вам не нужно тратить время на поиск аналогичных тем, вот они Одномерный массив в Паскале Одномерный массив в Delphi Одномерный массив TDA1558Q, какое сопротивление? Одномерный массив Переписать эл-ты файлов в одномерный массив |
24.05.2011, 21:02 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Попробую. Правда, не очень понял, что собой символизует переменная pr и зачем там вообще нужен массив. Так что вот вариант - правда без массива. Вначале нужно задать полное число резисторов, ВКЛЮЧАЯ ПРОМЕЖУТОЧНЫЕ НУЛИ. Дальше последовательно ввести номиналы (включая опять же нули), и - voila!
Код:
var N:Byte; sum,r,ans:real; i:Byte; begin write('N(<256)= '); readln(N); writeln; ans:=0; sum:=0; For i:=1 to N do begin write('R',i,'= '); readln(r); if r>0 then sum:=sum+r; if (r=0) or (i=N) then begin ans:=ans+1/sum; sum:=0; end; end; writeln; writeln('Answer is ',1/ans:8:2,' Ohm'); readln end. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|