Loading [MathJax]/extensions/Safe.js
Образовательный форум - онлайн помощь в учебе
Помощь в решении задач => Программирование => Тема начата: EkaterinaOsipova от 23 Апреля 2011, 10:20:51
-
Сформировать из симметричной матрицы А (10,10) одномерный массив так, чтобы в нем располагались вначале элементы I-ой строки, начиная с диагонального, затем элементы 2-ой строки, начиная с диагонального, далее 3-ой строки, начиная с диагонального и т.д.
-
for (int i=0; i<10; i++){
for (int j=i;j<10;j++){
arr[i*10+j]= matr[i,j];
}
}
как то так
-
На реликтовом Бейсике так:
CLS очистка экрана
K=0 счётчик в нуль
READ N читать
DIM A(N,N), B(N*(N+1)/2) объявить массивы
FOR I=1 TO N цикл по строкам
FOR J=I TO N цикл по столбцам
READ A(I,J) читать элемент массива по строкам
IF I<>J THEN A(J,I)=A(I,J) поставить симметричный элемент
NEXT J цикл строк
NEXT I цикл столбцов
FOR I=1 TO N
FOR J=I TO N
K=K+1 счётчик в новом массиве
B(K)=A(I,J) перенести элемент матрицы в В
NEXT J
NEXT I
FOR I=1 TO K цикл по количеству элементов массива В
PRINT B(I); печать в одну строку
NEXT I
DATA 3
DATA 1,2,3
DATA 5,6
DATA 7
Данные матрицы - треугольником, меньше мороки.
Проверку не делал.
Удачи.