Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.10.2010
Сообщений: 12

Составить вектор А из элементов матрицы М, кратным трём

04.12.2010, 19:10. Показов 1254. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1) Сформировать матрицу М(3,4), состоящую из случайных целых чисел в интервале от 15 до 100. Составить вектор А из элементов матрицы М, кратным трём. Упорядочить вектор А по убыванию.
2) Умножить матрицу М(5,6), состоящую из случайных целых чисел в интервале от -15 до 20, на число 3 и определить минимальный элемент М.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.12.2010, 19:10
Ответы с готовыми решениями:

Составить программу вывода на экран чисел, обратных к числам кратным трём
составить программу вывода на экран чисел, обратных к числам кратным троьм, от *1 к 50

Является ли сумма цифр двузначным числом кратным трём
1.Дано двузначное число. Является ли сумма его цифр двузначным числом кратным трём. 2.дано трехзначное число.равна ли его средняя цифра...

Составить вектор из элементов главной диагонали матрицы
Из квадратной матрицы получить вектор X, элементами которого будут элементы главной диагонали матрицы. Заменить первую строку матрицы на...

12
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
04.12.2010, 20:20
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

1)
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
CLS
RANDOMIZE TIMER
ny = 3
nx = 4
DIM a(ny, nx)
FOR y = 1 TO ny
    FOR x = 1 TO nx
        a(y, x) = FIX(RND * 86 + 15)
    NEXT
NEXT
FOR y = 1 TO ny
    FOR x = 1 TO nx
        IF a(y, x) MOD 3 = 0 THEN k = k + 1
    NEXT
NEXT
DIM b(k)
FOR y = 1 TO ny
    FOR x = 1 TO nx
        IF a(y, x) MOD 3 = 0 THEN i = i + 1: b(i) = a(y, x)
    NEXT
NEXT
FOR i = 1 TO k
    FOR j = 2 TO k
        IF b(j) > b(j - 1) THEN SWAP b(j), b(j - 1)
    NEXT
NEXT
PRINT "matrica"
FOR y = 1 TO ny
    FOR x = 1 TO nx
        PRINT a(y, x);
    NEXT
    PRINT
NEXT
PRINT "vektor A"
FOR i = 1 TO k
    PRINT b(i);
NEXT
Добавлено через 6 минут
2)
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CLS
RANDOMIZE TIMER
ny = 5
nx = 6
DIM a(ny, nx), b(ny, nx)
FOR y = 1 TO ny
    FOR x = 1 TO nx
        a(y, x) = FIX(RND * 37 - 16)
    NEXT
NEXT
FOR y = 1 TO ny
    FOR x = 1 TO nx
        b(y, x) = a(y, x) * 3
    NEXT
NEXT
min = b(1, 1)
FOR y = 1 TO ny
    FOR x = 1 TO nx
        IF b(y, x) < min THEN min = b(y, x)
    NEXT
NEXT
PRINT "matrica m"
FOR y = 1 TO ny
    FOR x = 1 TO nx
        PRINT a(y, x);
    NEXT
    PRINT
NEXT
PRINT "matrica m*3"
FOR y = 1 TO ny
    FOR x = 1 TO nx
        PRINT b(y, x);
    NEXT
    PRINT
NEXT
PRINT "min="; min
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
05.12.2010, 09:24
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
CLS
RANDOMIZE TIMER
ny = 3
nx = 4
DIM a(nx, ny)
FOR y = 1 TO ny
    FOR x = 1 TO nx
        a(x, y) = FIX(RND * 86 + 15)
    NEXT
NEXT
FOR y = 1 TO ny
    FOR x = 1 TO nx
        IF a(x, y) MOD 3 = 0 THEN k = k + 1
    NEXT
NEXT
DIM b(k)
FOR y = 1 TO ny
    FOR x = 1 TO nx
        IF a(x, y) MOD 3 = 0 THEN i = i + 1: b(i) = a(x, y)
    NEXT
NEXT
FOR i = 1 TO k
    FOR j = 2 TO k
        IF b(j) > b(j - 1) THEN SWAP b(j), b(j - 1)
    NEXT
NEXT
PRINT "matrica"
FOR y = 1 TO ny
    FOR x = 1 TO nx
        PRINT a(x, y);
    NEXT
    PRINT
NEXT
PRINT "vektor A"
FOR i = 1 TO k
    PRINT b(i);
NEXT
softmob, я в твоей программе поменял оси так как надо, это у меня заняло секунд 20, ознакомься, к тому же можно было не сканировать кол-во чисел кратных трём, а сразу завести массив размером nx*ny т.к. отведённая под матрицу память очень мала(ты больше памяти на код угрохал), эта фишка более актуальна для больших программ...
1
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
05.12.2010, 09:31
>Quiet Snow<, не понял зачем a(y, x) на a(x, y) менять?
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
05.12.2010, 09:41
Чтобы матрица к организации памяти подходила(и соотв. к программам других авторов), могу ещё раз написать программу с VARPTR чтобы ты увидел каким образом меняется адрес переменной массива исходя из его индекса в массиве.

Добавлено через 2 минуты
+Так читать программу удобнее, всегда везде всё нумеруется a b c, x y z, i j k, с чего бы это?
0
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
05.12.2010, 10:11
ну так первый индекс - строки, второй - столбцы. соответственно a(y,x).
QBasic/QuickBASIC
1
2
3
4
5
6
DIM a(ny, nx)
FOR y = 1 TO ny
    FOR x = 1 TO nx
        INPUT a(y, x)
    NEXT
NEXT
да просто в математике a(x,y), но в qb a(y,x).
где я ошибаюсь?
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
05.12.2010, 11:19
в математике a(x,y), но в qb a(y,x).
Хочется понять ваш ход мыслей, почему "но", т.е. можно и так и так,я же говорил что это абстракция программу можно писать как угодно, просто получается что нумеруете вы не по порядку не x, y, z а наоборот, что странно говоря мягко.
0
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
05.12.2010, 12:00
Хочется понять ваш ход мыслей, почему "но"
в qb первый индекс - строки, второй - столбцы.
в математике первый индекс - столбцы(координата по x), второй - строки(координата по y).
из темы "Как заполнить массив и вывести его на экран"
QBasic/QuickBASIC
1
2
3
4
5
6
DIM a(m,n)
FOR i=1 TO m
FOR j=1 TO n
INPUT "vvedite element ",a(i,j)
NEXT
NEXT
а из переделанной в 3 посте проги получается
QBasic/QuickBASIC
1
2
3
4
5
6
DIM a(m,n)
FOR i=1 TO m
FOR j=1 TO n
INPUT "vvedite element ",a(j,i)
NEXT
NEXT
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
05.12.2010, 12:11
a(x,y), но в qb a(y,x).
Скорее наоборот , кстати только что снова открыл почитал линейку, там i - строка, j - столбец. Короче пишите так как вы пишете - так математически вернее(с точки зрения описания), а я если чё переправлю(10 секунд работы), потому что матрица в том виде, в котором её изображают в точности соответствует организации видеопамяти и двумерных массивов, лично мне так привычнее.
Впрочем выходом может быть только оригинальное i, j, хотя так программа становится совершенно нечитабельной, но будет записана по всем канонам линейной алгебры.

Добавлено через 1 минуту
в математике первый индекс - столбцы(координата по x), второй - строки(координата по y)
Определённо нет
0
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
05.12.2010, 12:12
где можно найти эту "линейку"? что это вообще такое?
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
05.12.2010, 12:15
где можно найти эту линейку?
В учебниках, у меня дома общий курс высшей математики есть для экономистов, там точно так же.
Тут написано про индексы:
http://ru.wikipedia.org/wiki/Матрица_(математика)
1
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
05.12.2010, 12:19
почитаю.
у нас подобных учебников нет, еще только 11 класс...
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
05.12.2010, 12:52
Линейка это линейная алгебра, там изучают операции с матрицами их свойства и решение с их помощью систем линейных уравнений.

Добавлено через 6 минут
Кстати я до сих пор не понимаю почему матрицу изображают в одном виде а интерпретируют в другом, такой тупняк ваще, привязать(по изображению матицы) индексы к x, y и не париться, при этом сделать так чтобы совпадало с организацией видеопамяти и массивов. Ведь удобно же когда не нужно каждый раз менять структуру...

Добавлено через 25 минут
почитаю.
Не утруждайся поэкономь мозги, поступишь в универ тебя там так драть по этим матрицам будут + в 90% программистских задач знание высшей математики не требуется, в школе кстати я такие проги шинковал(намного круче чем сейчас), ща открываю думаю - "какая же я кусяра, весь мозг себе убил вышкой*".
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2010, 12:52
Помогаю со студенческими работами здесь

Составить вектор из количества нулевых элементов столбцов матрицы
Составить вектор из колличества нулевых элементов столбцов матрицы А{5x6} (-1; 0; 1;-5; 3; 5) ( 1; 6; 7; 0; 4; 0) (-2; 0; 2; 2;-4; 7)...

Составить вектор произведений простых элементов в столбцах матрицы
Составить вектор произведений простых элементов в столбцах матрицы. Подскажите простые элементы как найти? Добавлено через 1 час 8...

Дано двузначное число.является ли сумма его цифр двузначным числом кратным трём?
дано двузначное число.является ли сумма его цифр двузначным числом кратным трём???помогите пожалуйста составить программу в паскале

Составить вектор из сумм элементов матрицы, больших среднего геометрического, по строкам
Написал программу, но не выводит вектор. Проверьте пожалуйста я правильно записал формулу ср. геометрического. Спасибо заранее! Ввести...

Составить вектор из ненулевых элементов матрицы А (6x6) стоящих выше главной диагонали
Составить вектор из ненулевых элементов матрицы А (6x6) стоящих выше главной диагонали.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru