QBASIC "одномерный массив+условный оператор"

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Gyourza
Сообщения: 5
Зарегистрирован: 03 ноя 2008, 20:58

03 ноя 2008, 21:35

Здравствуйте уважаемые форумчане! ;)
Я студент первого курса информационного отделения, но вот беда :mad: ..... Программист из меня пока некудышний :( , а мне нужно написать прогу, задание такое:

"Одномерный массив с применением условного оператора. Минимум дважды используеться цикл с параметром. В первом цикле с клавиатуры вводиться значение элементов массива. Для упрощения работы вводите целые числа. Вводимые числа должны "подыгрывать" условию задачи. Во втором цикле вывод значения исходного массива и значения полученные в результате работы программы. Может быть потребуеться три цыкла. Программа пишеться для произвольного числа элементов массива. При запросе введите "N=8". 1)ОРГАНИЗУЙТЕ МАССИВ, ОПРЕДЕЛИТЕ ЗНАЧЕНИЕ И НОМЕР ПОСЛЕДНЕГО ПОЛОЖИТЕЛЬНОГО ЧИСЛА.
2)ОРГАНИЗУЙТЕ МАССИВ, ОПРЕДЕЛИТЕ СУММУ ЭЛЕМЕНТОВ МАССИВА С ЧЕТНЫМИ И НЕЧЕТНЫМИ ИНДЕКСАМИ"

Вот, такое у меня задание.
На сколько я понимаю, нужно написать программу так, чтобы пользователь сам выбрал колличество элементов в массиве, после чего ввел эти элименты, а программа сравнит их, и выведит на экран значение и номер последнего введенного положительного числа. А также выведит отдельно сумму четных и не четных элементов.
Это надо же как-то указать программе, чтобы она могла различить четные и не четные элементы........ :confused: Немогу разобраться :confused:

Помогите пожалуйста будущему коллеге!!!! Объясните что к чему. Пожалуйста.
Заранее благодарен.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

04 ноя 2008, 02:37

Баааа.... Ну хорошо хоть не GWBASIC :) Каменный век какой-то....

Код: Выделить всё


Print "Введите N:";
Input n

Dim A(n)

'Исходный массив
For i = 1 To n
  Print "A(";i;")=";A(i)
Next

'последнее положительное
i = n
While A(i) < 0 And i > 0
  i = i - 1
Wend
If i = 0 Then
  Print "нет положительных чисел"
Else
  Print "последнее положительное число A("; i; ")="; A(i)
End If

'суммы
S1 = 0: S2 = 0
For i = 1 To n
  If i Mod 2 = 1 Then
    S1 = S1 + A(i)
  Else
    S2 = S2 + A(i)
  End If
Next
Print "Сумма нечетных чисел:"; S1
Print "Сумма четных чисел:"; S2

Gyourza
Сообщения: 5
Зарегистрирован: 03 ноя 2008, 20:58

04 ноя 2008, 11:52

Огромное спасибо, что откликнулись на мою проблему :)
Но вы немного не поняли, в коде что выше написан, пользователь вводит число, равное числу элементов в массиве, после чего программа сама формирует эти элементы с 1-го, до указанного ползователем.
А мне надо, чтобы после ввода пользователем числа элементов в массиве, пользователь сам вводил эти элементы.
Программа не считает сумму четных и нечетных чисел, в коде что-то не то
Аватара пользователя
demon416
Сообщения: 87
Зарегистрирован: 30 янв 2006, 14:03
Откуда: kirovskoe

04 ноя 2008, 15:07

вроде так (такие задачи надо решать самостоятельно!)
Print "Введите N:";
Input n

Dim A(n) as integer
dim n_posl_p as integer
'Исходный массив
For i = 1 To n
input a(i)
Next
set n_posl_p = -1 'возможно без set
'последнее положительное
For i = 1 To n
if a(i)>0 then
set n_posl_p = i 'возможно без set
Next
If n_posl_p = -1 Then
Print "нет положительных чисел"
Else
Print "последнее положительное число A("; n_posl_p; ")="; A(n_posl_p)
End If
dim s1,s2 as integer
'суммы
S1 = 0: S2 = 0
For i = 1 To n
If i Mod 2 = 1 Then
S1 = S1 + A(i)
Else
S2 = S2 + A(i)
End If
Next
Print "Сумма нечетных чисел:"; S1
Print "Сумма четных чисел:"; S2
ака хинт: коментируйте код, самим же легче будет разобраться ;)
Gyourza
Сообщения: 5
Зарегистрирован: 03 ноя 2008, 20:58

04 ноя 2008, 17:27

Извините пожалуйста, что это за команды :dim n_posl_p as integer, set n_posl_p = -1 'возможно без set, set n_posl_p = i 'возможно без set, и.т.д.
У меня, при запуске программы, после слов "set n" ставиться курсор, и вылазиит сообщение в котром говориться "ОЖИДАЕТЬСЯ6: КОНЕЦ ВЫРАЖЕНИЯ". Программа не запускаеться. Помогите!!!!!! На затра надо, Время поджимает!!!
Gyourza
Сообщения: 5
Зарегистрирован: 03 ноя 2008, 20:58

04 ноя 2008, 17:28

Непомогает, даже если убрать Set
Gyourza
Сообщения: 5
Зарегистрирован: 03 ноя 2008, 20:58

04 ноя 2008, 18:16

:D Кажеться понял, щас попробую написать прогу...............
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

04 ноя 2008, 19:10

Код: Выделить всё

'Ввод массива
For i = 1 To n
  Print "Введите A(";i;"):";
  input A(i)
Next

blacksock
Сообщения: 1
Зарегистрирован: 19 дек 2009, 12:43

19 дек 2009, 13:07

Помогите решитть!!!! Двумерный массив.
Найти сумму всех положительных элементов массива c(i,j), i=1,2,...,5 j=1,2,...,5
[Бедный_Студент]
Сообщения: 1
Зарегистрирован: 16 июн 2010, 10:48

16 июн 2010, 10:55

Люди помогите пжлст!!! Немогу сделать практическю работу((((((((((((
"Одномерные массивы"
Задания:
1.В массиве A(N) каждый второй элемент заменить квадратом номера элемента(5,-3,2,11,12,-8)
2.Подсчитать сумму отрицательных элементов в массиве B(1:6) -6,-2,1,2,3,-8
Заранее благодарен!!!!
Ответить