Помогите с задачкой на QBasic

Romchik

Member
Joined
Jul 19, 2005
Messages
8
Reaction score
1
Age
36
Location
москва
Дан численный массив
N=7 x {3, 8, 15, 37, 41, 42, 22}
Требуется определить четные числа в массиве, подсчитать их коллеичество и напечатать

вот мой вариант, но ничего не получается, учитель-дед тупит, помогите пожалуйста

cls
input "n=n", n
i=1
kl=0
input x1
if fix (x1/2=x1/2) then goto 10
print x1
10kl=kl+1=1
i=i+1=2
end
 

Smart sys

Member
Joined
Sep 21, 2005
Messages
46
Reaction score
2
Age
35
Location
Москва
Romchik said:
Дан численный массив
N=7 x {3, 8, 15, 37, 41, 42, 22}
Требуется определить четные числа в массиве, подсчитать их коллеичество и напечатать

вот мой вариант, но ничего не получается, учитель-дед тупит, помогите пожалуйста

cls
input "n=n", n
i=1
kl=0
input x1
if fix (x1/2=x1/2) then goto 10
print x1
10kl=kl+1=1
i=i+1=2
end
Что выдает ?
 

AAlexander

Member
Joined
Dec 9, 2004
Messages
71
Reaction score
6
Age
42
Location
Германия, Корнвестхайм
Первая ошибка, однозначно, здесь:
if fix (x1/2=x1/2) then goto 10
Должно быть
if fix (x1/2)=x1/2 then goto 10

И вообще алгоритм не из лучших.
ЗЫ Неужели где-то ещё изучают QBasic?
 

Smart sys

Member
Joined
Sep 21, 2005
Messages
46
Reaction score
2
Age
35
Location
Москва
AAlexander said:
Первая ошибка, однозначно, здесь:
if fix (x1/2=x1/2) then goto 10
Должно быть
if fix (x1/2)=x1/2 then goto 10

И вообще алгоритм не из лучших.
ЗЫ Неужели где-то ещё изучают QBasic?
Я QB занимался лет 6 назад...
10kl=kl+1=1
Возможно здесь:
10: kl=kl+1=1
или:
10:kl=kl+1=1
А может и нет...
 

AAlexander

Member
Joined
Dec 9, 2004
Messages
71
Reaction score
6
Age
42
Location
Германия, Корнвестхайм
И это только синтаксические ошибки:), а ещё и алгоритмических - куча!!
Короче сделай нормальный цикл "For", а ещё лучше, разбей на два логических куска: ввод данных и обработка введенной инфы - так красивей, имхо.
 

Dr.Evil

Member
Joined
Sep 8, 2005
Messages
10
Reaction score
2
Age
39
Location
Russia
CLS
CONST n = 7
k = 0
DIM a(n)

FOR i = 1 TO n
PRINT "Vvedite chislo"
INPUT a(i)
NEXT i

FOR i = 1 TO n
IF (a(i) MOD 2) = 0 THEN
k = k + 1
PRINT a(i)
END IF
NEXT i
PRINT "Kol-vo: ", k
 
Top