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

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

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

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

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

textual
Листинг программы
CLS
m = 8
CONST p = " "
DIM T(1 TO 8) AS STRING     'массив предложений
DIM S(1 TO 8)           ' массив количества слов в предложении
DIM Slovo AS STRING   ' самое длинное слово
 
FOR i = 1 TO m
   INPUT "VVEDITE TEXT"; T(i)  ' ввод предложений
NEXT i
PRINT
 
FOR i = 1 TO m
   T(i) = p + T(i) + p  ' каждое предложение окаймляется пробелами
NEXT i
 
FOR k = 1 TO m  ' отсюда начинается поиск самого короткого по числу слов предложения 
   i1 = 1   ' номер первого пробела 
   DO
      i2 = INSTR(i1 + 1, T(k), p) ' поиск следующего пробела
      S(k) = S(k) + 1  ' каждый новый пробел это новое слово
      i1 = i2   ' конечный пробел передает свое значение начальному
   LOOP UNTIL LEN(T(k)) = i2
NEXT k
 
iMin = 1 ' отсюда начинается поиск предложения в котором минимум слов
FOR i = 1 TO m
   IF S(iMin) > S(i) THEN iMin = i
NEXT i
 
k = iMin ' индекс предложения с минимумом слов
MaxS = 1  ' начальная длина самого длинного слова
i1 = 1    ' номер первого пробела
DO
   i2 = INSTR(i1 + 1, T(k), p)
   IF MaxS < i2 - i1 - 1 THEN  ' поиск слова максимальной длины
      MaxS = i2 - i1 - 1
      Slovo = MID$(T(k), i1 + 1, MaxS)
   END IF
   i1 = i2
LOOP UNTIL LEN(T(k)) = i2
 
T(iMin) = LTRIM$(RTRIM$(T(iMin))) ' убираются лишние пробелы
PRINT T(iMin) ' вывод предложения
PRINT Slovo ' вывод его самого длинного слова
END

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


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

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

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