Сформировать одномерный массив В из наименьших элементов диагоналей матрицы - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д