Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
198 / 10 / 3
Регистрация: 30.04.2016
Сообщений: 732

Максимальный элемент двумерного массива

26.02.2017, 13:33. Показов 3567. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  Максимальный элемент                           Минимальный элемент
    двумерного массива.                                  двумерного массива.
 
CLS                                                                               CLS   
RANDOMIZE TIMER                                                  RANDOMIZE TIMER
DIM X(5, 4)                                                                    DIM X(5, 4)
   P = X(1, 1)                                                                        P = X(1, 1)
FOR i = 1 TO  5                                                              FOR i = 1 TO 5
   FOR j = 1 TO 4                                                                FOR j = 1 TO 4
X(i, j) = INT(RND(i) * 20)                                             X(I, j) = INT(RND(i) * 20)    
   LOCATE j * 2, i * 4                                                         LOCATE j * 2, i * 4
   PRINT X(i, j);                                                              PRINT X(i, j)
IF P < X(i, j) THEN P = X(i, j)                                       IF P > X(i, j) THEN P = X(i, j)
NEXT j, i                                                                         NEXT j, i
    PRINT                                                                               PRINT
PRINT “ Самое большое число: “; P                             PRINT “ Самое маленькое число: “; P

QBasic/QuickBASIC
1
2
3
4
5
    11     9     8     4     8
     5      2     4     11    17
      2     3     6      6     6
      4     7     5      5     19
Самое большое число:   19
Здесь всё нормально
QBasic/QuickBASIC
1
2
3
4
5
    18     13    19     2     1
     3      8       8      16    15
     15    14     19    17    18
      5     13     2     10     19
 Самое маленькое число:   0
А почему здесь не нормально? Ведь принцип определения min такой же, как и определение max. (Считаем, что первый
элемент массива и есть минимальный: сравниваем его при переборе циклов со всеми остальными элементами массива – со второго до последнего).
Тем более что в одномерном массиве такой принцип определения минимального значения даёт правильный результат.
А вот в двумерном массиве этот принцип почему - то не срабатывает.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2017, 13:33
Ответы с готовыми решениями:

Максимальный элемент двумерного массива
Как написать программу по нахождению максимального элемента в двумерном массиве? В программе Qbasic.

Найти максимальный элемент среди минимальных элементов строк двумерного массива
Найти максимальный элемент среди минимальных элементов строк двумерного массива. определить номер строки и столбца для такого элемента. ...

Найти сумму элементов массива, максимальный и минимальный элемент массива
Дан массив из N элементов на отрезке из найти сумму элементов массива , максимальный и минимальный элемент массива ,номер элементов равные...

6
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
26.02.2017, 13:41
Petro29

В строке 13 надо знак "<" поменять на знак ">"
Вот в этом вся разница между максимумом и
минимумом.
0
198 / 10 / 3
Регистрация: 30.04.2016
Сообщений: 732
05.03.2017, 12:31  [ТС]
Ответ получен. Поменяли знак "<" на ">", результат то же самый - 0. Опять не получилось.

Добавлено через 39 минут
QBasic: Обращение 20:
Максимальный элемент Минимальный элемент
двумерного массива. двумерного массива.

CLS CLS
RANDOMIZE TIMER RANDOMIZE TIMER
DIM X(5, 4) DIM X(5, 4)
P = X(1, 1) P = X(1, 1)
FOR i = 1 TO 5 FOR i = 1 TO 5
FOR j = 1 TO 4 FOR j = 1 TO 4
X(i, j) = INT(RND(i) * 20) X(I, j) = INT(RND(i) * 20)
LOCATE j * 2, i * 4 LOCATE j * 2, i * 4
PRINT X(i, j); PRINT X(i, j)
IF P < X(i, j) THEN P = X(i, j) IF P > X(i, j) THEN P = X(i, j)
NEXT j, i NEXT j, i
PRINT PRINT
PRINT “ Самое большое число: “; P PRINT “ Самое маленькое число: “; P


11 9 8 4 8
5 2 4 11 17
2 3 6 6 6
4 7 5 5 19
Самое большое число: 19

18 13 19 2 1
3 8 8 16 15
15 14 19 17 18
5 13 2 10 19
Самое маленькое число: 0
Здесь всё нормально. А почему здесь не нормально? Ведь
принцип определения min такой же, как и
определение max. (Считаем, что первый
элемент массива и есть минимальный:
сравниваем его при переборе циклов со
всеми остальными элементами массива –
со второго до последнего).
Тем более что в одномерном массиве
такой принцип определения минимального
значения даёт правильный результат.
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
05.03.2017, 12:44
Petro29
Что вы написали? Такой код вообще не будет
работать.
0
198 / 10 / 3
Регистрация: 30.04.2016
Сообщений: 732
05.03.2017, 12:47  [ТС]
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
CLS   
RANDOMIZE TIMER
DIM X(5, 4)
P = X(1, 1)
FOR i = 1 TO 5
   FOR j = 1 TO 4
X(I, j) = INT(RND(i) * 20)    
   LOCATE j * 2, i * 4
   PRINT X(i, j)
IF P > X(i, j) THEN P = X(i, j)
NEXT j, i
PRINT
PRINT “ Самое маленькое число:; P
PureBasic
1
2
3
4
5
        18     13    19     2     1
     3      8       8      16    15
     15    14     19    17    18
      5     13     2     10     19
 Самое маленькое число:   0
В программе стоит знак « > « , а результата нет. Тот же нуль!
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
05.03.2017, 15:22
Petro29
Ваша ошибка заключается в следующем
1) Строка 4. Вы присвоили Р значение 0. Точнее Х(1, 1)
А ведь матрица еще не заполнена. То есть все ее элементы
равны НУЛЮ !!
2) Что делать?
3) Присвоить переменной Р число, которое будет больше
любого элемента матрицы. Например Р = 1000
4) Всё теперь программа будет работать правильно.
0
198 / 10 / 3
Регистрация: 30.04.2016
Сообщений: 732
22.03.2017, 10:47  [ТС]
Да, по вашему ответу всё получилось. Для положительных значений массива для Р следует
задавать значение выше предполагаемого мах в массиве (в данном случае 30). А если в массиве есть отрицательные значения, тогда для Р можно задавать и единицу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2017, 10:47
Помогаю со студенческими работами здесь

Найти максимальный элемент массива
Всем привет:) прошу помочь!!Буду очень благодарна. Дан массив А (7). Найти максимальный элемент массива. Составьте алгоритм и...

Найти максимальный элемент массива A(N,M)
Составление блок-схемы алгоритма и программы на языке QBasic. Найти максимальный элемент массива A(N,M).

Вывести максимальный элемент массива
Дан массив чисел, n-любое число. Вывести наибольшее число.

Как найти наименьший элемент двумерного массива A(N,M) больший данного Т
составить программу нахождения наименьшего элемента двумерного массива A(N,M) больше данного Т.

Найти максимальный элемент массива и его индекс
1.Дан массив R(N,M).построить вектор из элементов матрицы,удовлетворяющей условию R(I,J)&lt;C,где C-константа.В полученном векторе найти...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru