Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ ЗАДАЧА ПО QBasic'y

Автор: Spail 23.05.2007 17:00

Народ спасайте! Помогите пожалуйста решить задачку простейшую решается будет ли у меня допуск или нет.
Задача:
Обработать на компьютере матрицу R(n,m): найти максимальный и минимальный элементы и поменять их местами. Предусмотреть обработку матрицы размером nxm элементов, где n<=20 и m<=20. Вывести на печать результаты и исходную матрицу в общепринятом виде. Проверить правильность выполнения программы с помощью текстового варианта (n=3 , m=4)


(Элементы матрицы Rзадать самостоятельно; в матрице могут быть как положительные так и отрицательные элементы могут быть и нули; среди элементов матрицы должны быть только один максимальный и один минимальный элемент; матрица должна быть размером не менее 4х6).

Буду очень благодарен кто поможет решить.

Автор: мисс_граффити 23.05.2007 20:23

Цитата
Проверить правильность выполнения программы с помощью текстового варианта (n=3 , m=4)
...
(матрица должна быть размером не менее 4х6)

blink.gif
Это у меня от жары мозги плавятся? Какого размера должна быть матрица?

Автор: Spail 23.05.2007 20:43

Цитата(мисс_граффити @ 23.05.2007 16:23) *

blink.gif
Это у меня от жары мозги плавятся? Какого размера должна быть матрица?

ну n<=20 и m<=20 в примере проверить на 3x4
Вот начало задачи и оно правильное мне нужна вторая её часть:

Код
CLS
Input "введите кол-во строк";n
Input "введите количество столбцов";m
Option base 1
Dim R(n,m)
Print "введите элементы матрицы"
For i=1 to n
For j=1 to m
Input R(i,j)
next j
next i
max=R(1,1)
jmax=1
imax=1
min=R(1,1)
imin=1
jmin=1
For i=1 to n
For j=1 to m

М
На будущее: пользуйся тегами для обрамления кода.
мисс_граффити


А дальше у меня возникли затруднения я не знаю что писать

Добавлено через 9 мин.
Конкретного размера в задаче не указано а только ограничений на n и m <=20

Автор: мисс_граффити 23.05.2007 21:29

как-то так, что ли?
сразу предупреждаю: выводится некрасиво, можешь заморочиться с форматированием.
проверку на величину m и n не добавляла - сам говоришь, первая часть правильная

Код
10 CLS
20 INPUT "введите кол-во строк"; n
30 INPUT "введите количество столбцов"; m
40 OPTION BASE 1
50 DIM R(n, m)
60 PRINT "введите элементы матрицы"
70 FOR i = 1 TO n
80 FOR j = 1 TO m
90 INPUT R(i, j)
100 NEXT j
110 NEXT i
120 max = R(1, 1)
130 jmax = 1
140 imax = 1
150 min = R(1, 1)
160 imin = 1
170 jmin = 1
175 S$ = ""
180 FOR i = 1 TO n
190 FOR j = 1 TO m
191 IF R(i, j) > max THEN max = R(i, j): imax = i: jmax = j
192 IF R(i, j) < min THEN min = R(i, j): imin = i: jmin = j
200 S$ = S$ + STR$(R(i, j)) + " "
210 NEXT j
220 PRINT S$
225 S$ = ""
230 NEXT i
240 PRINT (max)
250 PRINT (min)
260 R(imax, jmax) = min
270 R(imin, jmin) = max
280 FOR i = 1 TO n
290 FOR j = 1 TO m
300 S$ = S$ + STR$(R(i, j)) + " "
310 NEXT j
320 PRINT S$
325 S$ = ""
330 NEXT i

Автор: Spail 23.05.2007 21:32

О красавица большое тебе спасибо только позволь узнать что такое S$

Добавлено через 2 мин.

Цитата(Spail @ 23.05.2007 17:32) *

О красавица большое тебе спасибо только позволь узнать что такое S$



Добавлено через 2 мин.
Цитата(Spail @ 23.05.2007 17:32) *

О красавица большое тебе спасибо только позволь узнать что такое S$

Добавлено через 2 мин.

И что такое " " и SRT$
А в конце вроде должен быть Prinut Using " ###.##;n;
Print Using "###.####;m
end

Автор: мисс_граффити 23.05.2007 21:41

Ну не знаю
S$ - строка

Цитата
А в конце вроде должен быть Prinut Using " ###.##;n;
Print Using "###.####;m
end

ну поставь
я про такое первый раз слышу
сама на qbasic писала в жизни примерно 3 программы, каждая по 50 строк (в смысле, 10 20 30 40 50 smile.gif ), и то 2 года назад.

Автор: Ozzя 23.05.2007 21:57

Цитата
SRT$

str$ - ф-ция, переводящая число в строку