Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2009, 21:33   #1
igoreha
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 10
По умолчанию Помогите с задачками на QBasic

Помогите решить пару задачек.
ОБщее требование к задачам:
Это задание по работе с одномерным массивом и применению условного оператора. Минимум дважды используется цикл с параметром. В первом цикле с клавиатуры вводятся значения элементов массива. Для упрощения работы вводите целые числа. Вводимые числа должны «подыгрывать» условию задачи. Во втором цикле выводятся значения исходного массива и значения, полученные в результате работы программы. Возможно, потребуется три цикла. Программа пишется для произвольного числа элементов массива. При запросе «Введите число элементов массива» вводите n = 8. Тексты программ сопроводить блок-схемами.
1. Задача
Организуйте массив. Определите значение и номер последнего отрицательного числа.
2. Задача
Организуйте массив. Выведите на дисплей значение и индекс предпоследнего положительного элемента.
igoreha вне форума Ответить с цитированием
Старый 25.01.2009, 18:52   #2
igoreha
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 10
По умолчанию

и никто не поможет и не подскажет ?
igoreha вне форума Ответить с цитированием
Старый 25.01.2009, 19:26   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Первая:
Код:
DIM i, k, n AS INTEGER
DIM mas(n) AS INTEGER
CLS
INPUT "Vvedite chislo elementov: "; n
REDIM mas(n)
FOR i = 1 TO n
PRINT USING "mas[#]= "; i;
INPUT mas(i)
mas(i) = CINT(mas(i))
NEXT i
'-------------
CLS
FOR i = 1 TO n
PRINT USING "####"; mas(i);
NEXT i
PRINT
'----------
FOR i = n TO 1 STEP -1
 IF mas(i) < 0 THEN
  k = i
  EXIT FOR
  END IF
NEXT i
PRINT USING "Poslednij otricatelnij element: mas(#)=##"; k; mas(k)

END
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.01.2009, 19:31   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вторая:
Код:
DIM i, k, n AS INTEGER
DIM mas(n) AS INTEGER
CLS
INPUT "Vvedite chislo elementov: "; n
REDIM mas(n)
FOR i = 1 TO n
PRINT USING "mas[#]= "; i;
INPUT mas(i)
mas(i) = CINT(mas(i))
NEXT i
'-------------
CLS
FOR i = 1 TO n
PRINT USING "####"; mas(i);
NEXT i
PRINT
'----------
k = -2
FOR i = n TO 1 STEP -1
 IF mas(i) > 0 THEN
 IF k = -2 THEN
  k = -1
 ELSEIF k = -1 THEN
  k = i
  EXIT FOR
 END IF
END IF
NEXT i
PRINT USING "Predposlednij polozhitelnij element: mas(#)=##"; k; mas(k)

END
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.01.2009, 19:57   #5
igoreha
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 10
По умолчанию

Большое спасибо, только тупому объясните "AS INTEGER" в первых строках
igoreha вне форума Ответить с цитированием
Старый 25.01.2009, 20:02   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Это объявление переменной целого типа
DIM i AS INTEGER
Аналог в паскале:
i : integer;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.01.2009, 20:11   #7
igoreha
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 10
По умолчанию

это аналогично символу "%" с переменной, но только сразу указывается всем?
да и еще, если не сложно объясните
USING "mas[#]= "; i;
и
mas(i) = CINT(mas(i))

Последний раз редактировалось igoreha; 25.01.2009 в 20:14.
igoreha вне форума Ответить с цитированием
Старый 25.01.2009, 20:33   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
это аналогично символу "%" с переменной, но только сразу указывается всем?
Честно говоря, я сам еще пока не очень разобрался с этими знаками.. Поэтому просто не использую их ) Все работает )

Код:
PRINT USING "mas[#]= "; i;
Выводит форматированную строку. На место # подставляется значение переменной, указанной после строки

Код:
mas(i) = CINT(mas(i))
Это строчка, в принципе, вообще не нужна.
CINT округляет аргумент.
Но в вашем условии сказано:
Цитата:
Вводимые числа должны «подыгрывать» условию задачи
Не понял, что это значит, вот и написал )
Удалите ее )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 25.01.2009 в 20:43.
Sazary вне форума Ответить с цитированием
Старый 25.01.2009, 20:39   #9
igoreha
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 10
По умолчанию

Еще раз "Спасибо". И за решение и за объяснение
igoreha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с задачками SYL@R Помощь студентам 9 09.06.2008 18:49
Помогите с задачками о матрицах(( Colette Паскаль, Turbo Pascal, PascalABC.NET 2 27.05.2008 09:37
Помогите с задачками Mi$ter Фриланс 1 15.05.2008 09:59
Помогите с задачками lexIS Помощь студентам 0 05.12.2007 23:17
Помогите с задачками OlgaMiller Общие вопросы C/C++ 25 25.10.2007 21:05