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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2009, 21:57   #1
mikainite
Новичок
Джуниор
 
Аватар для mikainite
 
Регистрация: 19.02.2009
Сообщений: 2
По умолчанию Задачи. Массивы. QBasic.

Здравствуйте!
Искала на форуме, но в основном всё на Паскале.
Помогите, пожалуйста, решить. Или подскажите.
Наверное, лёгкие задачки, но для меня, сколько ни бейся, они непосильны.
1. Дан одномерный массив числовых значений, насчитывающий N элементов. Добавить к элементам массива такой новый элемент, чтобы сумма положительных элементов стала бы равна модулю суммы отрицательных элементов.
2. Выполнить обработку элементов прямоугольной матрицы A, имеющей N строк и M столбцов. Дан номер строки L и номер столбца K, при помощи которых исходная матрица разбивается на четыре части. Найти сумму элементов каждой части.
3. Заданы M строк символов, которые вводятся с клавиатуры.Каждая строка представляет собой слово. Найти все слова, которые начинаются и заканчиваются одинаковыми буквами.
Заранее спасибо.
mikainite вне форума Ответить с цитированием
Старый 19.02.2009, 22:39   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

1. Проходите по массиву в цикле и считаете суммы отрицательных и положительных элементов:
Код:
pol = 0
otr = 0
for i=1 to N
if a(i)>0 then
 pol = pol + a(i)
else
 otr = otr +a(i)
end if
next i
Затем добавляете элемент:
Код:
a(N+1) = abs(otr)-abs(pol)
-----------------------------------

2. Вводите матрицу. Читаете L и K.
Имеем 4 переменных под суммы (например. можно использовать массив из 4-х элементов)
Обнуляем их.
Потом запускаем четыре цикла (по одному для каждой части)
Код:
FOR i = 1 TO L - 1
 FOR j = 1 TO K - 1
  sum(1) = sum(1) + A(i, j)
 NEXT j
NEXT i

FOR i = 1 TO L - 1
 FOR j = K + 1 TO M
  sum(2) = sum(2) + A(i, j)
 NEXT j
 NEXT i

FOR i = L + 1 TO N
 FOR j = 1 TO K - 1
  sum(3) = sum(3) + A(i, j)
 NEXT j
NEXT i

FOR i = L + 1 TO N
 FOR j = K + 1 TO M
  sum(4) = sum(4) + A(i, j)
 NEXT j
NEXT i
И все.
-----------------------------
3. Тут даже объяснять нечего.. Собственно, даже могу написать:
Код:
DIM Str(50) AS STRING
DIM M, i, l AS INTEGER
CLS
INPUT "enter M: "; M
FOR i = 1 TO M
 INPUT "enter string: "; Str(i)
NEXT i
PRINT
FOR i = 1 TO M
 l = LEN(Str(i))
 IF MID$(Str(i), 1, 1) = MID$(Str(i), l, 1) THEN
  PRINT Str(i)
 END IF
NEXT i
END
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.02.2009, 22:45   #3
mikainite
Новичок
Джуниор
 
Аватар для mikainite
 
Регистрация: 19.02.2009
Сообщений: 2
По умолчанию

Sazary, спасибо за наводки и решение :3
В жизни бы не додумалась.
Пойду пробовать.
mikainite вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[QBasic|Pascal] двумерные массивы PBJack Помощь студентам 5 06.12.2011 20:39
Задачи по QBasic Ванек Помощь студентам 14 08.11.2008 15:00
Нужно СРОЧНО решить нетрудные задачи по QBasic Final Фриланс 2 20.06.2007 22:29
3 задачи на QBasic PoNika Помощь студентам 3 11.06.2007 13:02