Определить какие значения одномерного массива повторяются и сколько раз они повторяются - QBasic
Формулировка задачи:
Само задание: Подсчитать какие значения элементов задаваемого пользователем одномерного массива повторяются и сколько раз они повторяются.
Я пробовал отсортировать массив ,а затем, сравнивая первый элемент с последующим, определить повторяющиеся элементы. У меня не получилось. Поиск похожих задач ничего не дал.
Подскажите где я ошибся. Если можно напишите код рабочей программы.
Решение задачи: «Определить какие значения одномерного массива повторяются и сколько раз они повторяются»
textual
Листинг программы
CLS RANDOMIZE TIMER n = 12 DIM A(n) AS INTEGER DIM B(n) FOR i = 1 TO n A(i) = 4 * RND PRINT A(i); NEXT i PRINT : PRINT FOR i = 1 TO n - 1 FOR j = i + 1 TO n IF A(i) > A(j) THEN SWAP A(i), A(j) NEXT j NEXT i FOR i = 1 TO n PRINT A(i); NEXT i PRINT : PRINT A(0) = A(1) i = 0 j = 1 DO IF A(i) = A(i + 1) THEN B(j) = B(j) + 1 i = i + 1 ELSE i = i + 1 j = j + 1 B(j) = 1 END IF LOOP UNTIL i = n FOR i = 1 TO n IF B(i) THEN PRINT B(i); NEXT i END
Объяснение кода листинга программы
- Объявляются переменные: n (количество элементов в массиве), A(n) (массив для хранения чисел), B(n) (массив для хранения количества повторений чисел).
- Заполняется массив A случайными числами от 0 до 4 с помощью функции RND.
- С помощью двух вложенных циклов (for) происходит сортировка массива A по возрастанию.
- С помощью цикла (for) происходит проверка на повторение чисел в массиве A. Если число повторяется, то увеличивается значение в соответствующей ячейке массива B.
- В конце программы выводятся все значения, которые повторяются в массиве A с помощью цикла (for) и условного оператора (if).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д