12.01.2011, 19:22 | #1 (permalink) |
Новичок
Регистрация: 12.01.2011
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Массив Pascal
И блок схему если кто знает, помогите пожалуйста=))) |
12.01.2011, 19:22 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Рекомендую поискать информацию в похожих темах Массив в VBA Массив Pascal. Динамический массив Массив в с++ |
13.01.2011, 15:11 | #2 (permalink) |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Так как вы не указали: тип массива, способ его задания, я предлагаю вам такой вариант:
Код:
const n=20; var x:array [1..n] of integer; i,max,m:integer; begin randomize; max:=-1000; for i:=1 to n do begin x[i]:=random(100); write (x[i],' '); if x[i]>max then begin max:=x[i]; m:=i; end; end; x[m]:=0; writeln; for i:=1 to n do write (x[i],' '); readln end. Последний раз редактировалось shrek=); 13.01.2011 в 15:13 Причина: :)) |
13.01.2011, 15:19 | #4 (permalink) | ||
Member
Регистрация: 12.01.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
примерная блок-схема
|
||
13.01.2011, 15:24 | #5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Shrek, к сожалению, Ваша программа не отрабатывает ситуации типа "или все, если их несколько". Поэтому я бы предложил так:
вместо Код:
begin max:=x[i]; m:=i; end; end; x[m]:=0; Код:
max:=x[i]; end; for i:=1 to n do if x[i]=max then x[i]:=0; |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
13.01.2011, 16:36 | #7 (permalink) |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Уважаемый Юрий на этом форуме халява не очень приветствуется, попробуйте сами, а вас если, что не верно подредактируют.
|
13.01.2011, 18:45 | #8 (permalink) |
Новичок
Регистрация: 12.01.2011
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Randomize timer
n=20 Dim x(n) n,i As integer For i=1 to 20 Input X(n) Next i Max=-1000 For i=1 to 20 next Print "max. element=;n If x(i)>max then max=x(n) end for i=1 to n if x(i)=max then x(i)=0 for i=1 to n Print x(i) next i end Что не так? подскажите пжлста??? |
13.01.2011, 19:14 | #9 (permalink) | |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Цитата:
2) зачем вам пустой цикл на 20 итераций? 3) при использовании оператора Print текст нужно заключать в кавычки с обоих сторон. 4) ваша программа заканчивает выполняться после выделенного красным оператора end 5) какой смысл спрашивать о поиске максимального элемента в массиве и замене его значения на 0, если в программе вы выводите в качестве его значения число 20? 6) В первом ветвлении вы в любом случае в качестве максимального элемента принимаете последний (20-ый) элемент массива 7) цикл, в котором вы производите замену максимального значения на 0, у вас без next 8) последний цикл вообще можно не писать, а реализовать вывод значения текущего элемента массива в предыдущем цикле сразу после ветвления с заменой значений. Подытожим: Вашу программу легче написать заново, чем исправить!
__________________
Убить всех человеков! |
|
13.01.2011, 19:41 | #10 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Код:
n=20 Dim x(n) For i=1 to n Input x(i) Next i Max=-1000 For i=1 to n If x(i)>max then max=x(i) next i for i=1 to n if x(i)=max then x(i)=0 print x(i) next i end
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|