Показать сообщение отдельно
Старый 13.01.2011, 19:14   #9 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Цитата:
Сообщение от Юрий Бадюн Посмотреть сообщение
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
print
for i=1 to n
Print x(i)
next i
end
1) зачем вы инициализируете генератор псевдослучайных значений, если массив заполняете вручную? И, кстати, зачем вы 20 раз вводите значение в 20-ый элемент массива? К чему было инициализировать переменную n, если все попытки её использования у вас ошибочны?
2) зачем вам пустой цикл на 20 итераций?
3) при использовании оператора Print текст нужно заключать в кавычки с обоих сторон.
4) ваша программа заканчивает выполняться после выделенного красным оператора end
5) какой смысл спрашивать о поиске максимального элемента в массиве и замене его значения на 0, если в программе вы выводите в качестве его значения число 20?
6) В первом ветвлении вы в любом случае в качестве максимального элемента принимаете последний (20-ый) элемент массива
7) цикл, в котором вы производите замену максимального значения на 0, у вас без next
8) последний цикл вообще можно не писать, а реализовать вывод значения текущего элемента массива в предыдущем цикле сразу после ветвления с заменой значений.
Подытожим:
Вашу программу легче написать заново, чем исправить!
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070