Сформировать одномерный массив В из наименьших элементов диагоналей матрицы - QBasic

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

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

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

Решение задачи: «Сформировать одномерный массив В из наименьших элементов диагоналей матрицы»

textual
Листинг программы
  1. CLS
  2. m = 8
  3. CONST p = " "
  4. DIM T(1 TO 8) AS STRING     'массив предложений
  5. DIM S(1 TO 8)           ' массив количества слов в предложении
  6. DIM Slovo AS STRING   ' самое длинное слово
  7.  
  8. FOR i = 1 TO m
  9.    INPUT "VVEDITE TEXT"; T(i)  ' ввод предложений
  10. NEXT i
  11. PRINT
  12.  
  13. FOR i = 1 TO m
  14.    T(i) = p + T(i) + p  ' каждое предложение окаймляется пробелами
  15. NEXT i
  16.  
  17. FOR k = 1 TO m  ' отсюда начинается поиск самого короткого по числу слов предложения
  18.    i1 = 1   ' номер первого пробела
  19.    DO
  20.       i2 = INSTR(i1 + 1, T(k), p) ' поиск следующего пробела
  21.       S(k) = S(k) + 1  ' каждый новый пробел это новое слово
  22.       i1 = i2   ' конечный пробел передает свое значение начальному
  23.    LOOP UNTIL LEN(T(k)) = i2
  24. NEXT k
  25.  
  26. iMin = 1 ' отсюда начинается поиск предложения в котором минимум слов
  27. FOR i = 1 TO m
  28.    IF S(iMin) > S(i) THEN iMin = i
  29. NEXT i
  30.  
  31. k = iMin ' индекс предложения с минимумом слов
  32. MaxS = 1  ' начальная длина самого длинного слова
  33. i1 = 1    ' номер первого пробела
  34. DO
  35.    i2 = INSTR(i1 + 1, T(k), p)
  36.    IF MaxS < i2 - i1 - 1 THEN  ' поиск слова максимальной длины
  37.       MaxS = i2 - i1 - 1
  38.       Slovo = MID$(T(k), i1 + 1, MaxS)
  39.    END IF
  40.    i1 = i2
  41. LOOP UNTIL LEN(T(k)) = i2
  42.  
  43. T(iMin) = LTRIM$(RTRIM$(T(iMin))) ' убираются лишние пробелы
  44. PRINT T(iMin) ' вывод предложения
  45. PRINT Slovo ' вывод его самого длинного слова
  46. END

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


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

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

7   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы