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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2009, 20:34   #1
artemon999
 
Регистрация: 14.03.2009
Сообщений: 6
По умолчанию QBasic

Нужна помощь в прoграммировании на QBasic...
Задача такая:
Дан массив из целых чисел Сij, где i=1,2,3,4,5,6; j=1,2,3,4,5,6. Найти максимальное отрицательное и минимальное положительное элементы в каждой строке. Заменить их соответсвующими этой строке элементами главной диагонали. Вывести на печать все промежуточные и окончательные значения.

ввел данные через операторы read, data и дальше не сображу как делать, если кто понимает, напиши плиз)))

cls
dim с(i,j)
data 1,4,-6,8,-3,7
data 5,-1,6,12,-7,2
data -10,5,-4,3,8,-6
data 9,-,5,4,1,-9,9
data 4,7,-3,-1,4,9
data 5,9,4,-1,-7,-5
for i=1 to 6
for j=1 to 6
read c(i,j)
print c(i,j)
next j
print
next i
.
.
.
artemon999 вне форума Ответить с цитированием
Старый 14.03.2009, 21:00   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ничего сложного нет. Вполне могли бы написать и сами..
Код:
CLS
DIM i, j AS INTEGER
DIM C(6, 6) AS INTEGER
DIM maxot, minpol AS INTEGER
DATA 1,4,-6,8,-3,7
DATA 5,-1,6,12,-7,2
DATA -10,5,-4,3,8,-6
DATA 9,-,5,4,1,-9,9
DATA 4,7,-3,-1,4,9
DATA 5,9,4,-1,-7,-5
FOR i = 1 TO 6
 FOR j = 1 TO 6
 READ C(i, j)
 PRINT USING "####"; C(i, j);
 NEXT j
PRINT
NEXT i
PRINT
'----------
FOR i = 1 TO 6
maxot = -1
minpol = -1
 FOR j = 1 TO 6
  IF C(i, j) > 0 THEN
   IF minpol = -1 THEN
    minpol = j
   ELSEIF C(i, j) < C(i, minpol) THEN
    minpol = j
   END IF
  ELSEIF C(i, j) < 0 THEN
   IF maxot = -1 THEN
    maxot = j
   ELSEIF C(i, j) > C(i, maxot) THEN
    maxot = j
   END IF

 END IF

 NEXT j

PRINT USING "Stroka #:  "; i;
PRINT USING "min pol = ##, max otr= ##, el na diag= ##"; C(i, minpol); C(i, maxot); C(i, i)
C(i, minpol) = C(i, i)
C(i, maxot) = C(i, i)

NEXT i

PRINT
FOR i = 1 TO 6
 FOR j = 1 TO 6
  PRINT USING "####"; C(i, j);
 NEXT j
 PRINT
NEXT i
END
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 14.03.2009, 21:08   #3
artemon999
 
Регистрация: 14.03.2009
Сообщений: 6
По умолчанию

огромное спасибо за помощь)
artemon999 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
QBASIC FLORA Помощь студентам 1 19.02.2009 20:43
qbasic FLORA Помощь студентам 1 25.01.2009 18:01
qbasic FLORA Помощь студентам 3 23.01.2009 21:00
QBASIC FLORA Помощь студентам 3 18.01.2009 19:10