Loading [MathJax]/extensions/Safe.js

Образовательный форум - онлайн помощь в учебе

Помощь в решении задач => Программирование => Тема начата: EkaterinaOsipova от 23 Апреля 2011, 10:20:51

Название: Помогите расположить элемента массива в заданном порядке
Отправлено: EkaterinaOsipova от 23 Апреля 2011, 10:20:51
Сформировать из симметричной матрицы А (10,10) одномерный массив так, чтобы в нем располагались вначале элементы I-ой строки, начиная с диагонального, затем элементы 2-ой строки, начиная с диагонального, далее 3-ой строки, начиная с диагонального и т.д.
Название: Re: Помогите расположить элемента массива в заданном порядке
Отправлено: Данила от 25 Апреля 2011, 00:05:55
for (int i=0; i<10; i++){
   for (int j=i;j<10;j++){
        arr[i*10+j]= matr[i,j];
   }
}

как то так
Название: Re: Помогите расположить элемента массива в заданном порядке
Отправлено: Selyd от 25 Апреля 2011, 11:16:22
На реликтовом Бейсике так:
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
Данные матрицы - треугольником, меньше мороки.
Проверку не делал.
Удачи.