|
3 / 3 / 0
Регистрация: 15.04.2018
Сообщений: 18
|
||||||
Как перемешать двумерный массив?15.04.2018, 13:45. Показов 1617. Ответов 16
Метки нет (Все метки)
Задан двумерный массив, надо случайным образом переставить значения стоящие в нем. Вот код
0
|
||||||
| 15.04.2018, 13:45 | |
|
Ответы с готовыми решениями:
16
|
|
Заблокирован
|
|
| 15.04.2018, 14:02 | |
|
Эта программа не будет работать. Вы объявили строковый массив
и пытаетесь заполнить его числами. Добавлено через 2 минуты Вам известны такие функции как STR() и VAL() ?
0
|
|
|
3 / 3 / 0
Регистрация: 15.04.2018
Сообщений: 18
|
|||
| 15.04.2018, 14:15 [ТС] | |||
|
ili1,
Добавлено через 10 минут Известны, если мне потребуется перевести я переведу, но сейчас не вижу в это необходимости, т. к. повторюсь пока все работает.
0
|
|||
|
Заблокирован
|
|
| 15.04.2018, 14:27 | |
Сообщение было отмечено Jaron401 как решение
Решение
Jaron401,
чтобы число превратить в строковую переменную применяют функцию STR(). Пример STR(4) - это будет строка " 4" - содержащая перед четверкой пробел. Добавлено через 10 минут Jaron401 Чтобы перемешать матрицу в самом начале вводите строку RANDOMIZE TIMER - для инициализации генератора случайных чисел 2. Далее (после заполнения матрицы) вы задаете цикл FOR - NEXT, в котором с помощью функции RND задаете случайные значения индексам матрицы i = 1 + 4 * RND j = 1 + 4 * RND Элементы a(1, 1) и a(i, j) переставляете местами Следующая перестановка a(1, 2) и a(i, j) - это новый элемент ... и так далее, всего 4 * 4 = 16 перестановок.
0
|
|
|
3 / 3 / 0
Регистрация: 15.04.2018
Сообщений: 18
|
|
| 15.04.2018, 14:27 [ТС] | |
|
ili1, Если мне все надо будет перевести в строку ( как я понял для того что бы перемешать), то не легче будет изначально массиву задать а Integer?
0
|
|
|
Заблокирован
|
|
| 15.04.2018, 14:29 | |
|
Jaron401,
легче!! Именно это я и хотел вам объяснить.
0
|
|
|
3 / 3 / 0
Регистрация: 15.04.2018
Сообщений: 18
|
|
| 15.04.2018, 14:47 [ТС] | |
|
ili1, Я немного не понял вторую часть, как должен выглядеть цикл FOR..NEXT?
0
|
|
|
Заблокирован
|
|
| 15.04.2018, 14:56 | |
|
Правильно спросили. Это двойной цикл
FOR i1 = 1 TO 4 FOR j1 =1 TO 4 NEXT j1, i1
0
|
|
|
3 / 3 / 0
Регистрация: 15.04.2018
Сообщений: 18
|
|||||||
| 15.04.2018, 15:05 [ТС] | |||||||
|
ili1, все равер не могу понять. Почему i1 и j1?
Добавлено через 2 минуты ili1,
0
|
|||||||
|
Заблокирован
|
||||||
| 15.04.2018, 15:11 | ||||||
0
|
||||||
|
3 / 3 / 0
Регистрация: 15.04.2018
Сообщений: 18
|
||||||
| 15.04.2018, 15:17 [ТС] | ||||||
|
ili1, а это правильно?
1
|
||||||
|
Заблокирован
|
|
| 15.04.2018, 15:20 | |
|
Jaron401
Нет. Так нельзя. Мы уже использовали i, j поэтому надо задать другие переменные например ii, jj или p, q. Но другие!! Добавлено через 1 минуту Да. Второй случай верный.
0
|
|
|
3 / 3 / 0
Регистрация: 15.04.2018
Сообщений: 18
|
||||||
| 15.04.2018, 15:25 [ТС] | ||||||
|
ili1,
все я понял
1
|
||||||
|
Заблокирован
|
|
| 15.04.2018, 15:29 | |
|
Нет. это не верно. Верный пост #11.
Добавлено через 2 минуты Да. Вы быстро учитесь. Это верно.
0
|
|
|
3 / 3 / 0
Регистрация: 15.04.2018
Сообщений: 18
|
|||||||||||
| 15.04.2018, 15:52 [ТС] | |||||||||||
|
ili1, Тем не менее возникает какая то ошибка. Я пробовал запускать несколько раз и и получилось только один. Вот мой код
0
|
|||||||||||
|
Заблокирован
|
|
| 15.04.2018, 16:18 | |
Сообщение было отмечено Jaron401 как решение
Решение
Это скорее всего округление. Вот пример из вашего кода
i = 1 + 4 * Rnd поскольку переменная i целочисленная, то бейсик сам округляет значение i до ближайшего целого число. Отсюда может быть ошибка. Например число 4.7 будет округлено до 5. А индекс не может быть равным 5. Как исправить? Надо записать формулу так i = 0.5 + 4 * RND Вот теперь число 5 уже не получится. (это я проглядел). Ну на ошибках учатся. В общем исправьте у себя в подобных формулах 1 на 0.5
0
|
|
|
3 / 3 / 0
Регистрация: 15.04.2018
Сообщений: 18
|
|
| 15.04.2018, 16:38 [ТС] | |
|
хорошо
Добавлено через 3 минуты ili1, все получилось, работает. Спасибо
1
|
|
| 15.04.2018, 16:38 | |
|
Помогаю со студенческими работами здесь
17
Как считать двумерный массив из текстового файла?!
Как правильно объявить двумерный массив для пользовательского типа Дан двумерный массив, вводя столбец и строку выделить как показано на картинках Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|