Есть массив, проверить, является ли он перестановкой - QBasic

Узнай цену своей работы

Формулировка задачи:

Проблема! Есть массив, проверить, является ли он перестановкой.Не работае программа при вводе одинаковых чисел(((( Подскажите, как узнать, есть ли одинаковые элементы?

Решение задачи: «Есть массив, проверить, является ли он перестановкой»

textual
Листинг программы
CLS
RANDOMIZE TIMER
n = 10
DIM a(n)
 
FOR i = 1 TO n
   a(i) = FIX(90 * RND)
   PRINT a(i);
NEXT
PRINT : PRINT
 
FOR i = 1 TO n
   k = 0
   FOR j = 1 TO n
   IF a(i) = a(j) THEN k = k + 1
   IF k > 1 THEN PRINT "NO": END
NEXT j, i
 
PRINT "YES"
END

Объяснение кода листинга программы

  1. CLS — очистка экрана
  2. RANDOMIZE TIMER — установка генератора случайных чисел
  3. n = 10 — размер массива
  4. DIM a(n) — создание массива a размером n
  5. FOR i = 1 TO n — цикл по индексам массива a
  6. a(i) = FIX(90 * RND) — заполнение массива a случайными числами от 0 до 90
  7. PRINT a(i); — печать значения элемента массива a
  8. NEXT — переход к следующему элементу массива
  9. PRINT : PRINT — печать двух знаков :, для разделения вывода
  10. FOR i = 1 TO n — цикл по индексам массива a
  11. k = 0 — инициализация переменной k для подсчета повторяющихся элементов
  12. FOR j = 1 TO n — цикл по индексам массива a
  13. IF a(i) = a(j) THEN k = k + 1 — увеличение переменной k, если текущий элемент массива a(i) равен любому другому элементу массива a(j)
  14. IF k > 1 THEN PRINTNO: END — печать NO, если количество повторяющихся элементов больше 1
  15. NEXT j, i — переход к следующим элементам массива a
  16. PRINTYES` — печатьYES`, если все элементы массива уникальны
  17. END — завершение программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы