Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
16 / 16 / 9
Регистрация: 16.03.2012
Сообщений: 437
1

2D массив вывести на печать

04.06.2013, 17:39. Показов 803. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Вообщем, сортировка массива. Надо вывести результат, соответственно 2D массив пойдёт через 2 цикла for.
Но у меня компилятор выдаёт ошибку " E2062 Invalid indirection " и ставит указатель на *matrica[x][i] именно на [ i ].

Подскажите, что делаю не так или поправьте пожалуйста.

n - длина строки x
x - номер ряда

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
            for (x = 0; x < n; x++) {
                n = dlina[x];
                for (i=0; i<n;i++)
                {
                    min = matrica [x][i];// берёт min элемент по индексу
                    poz=i;
                    for (j=i;j<n;j++)
                    { //определяет, является ли следующий эл. меньшим
                        if ( min>matrica[x][j] ) 
                        { 
                            min = matrica[x][j];
                            poz=j; 
                        }
                    } //j
                    
                                        temp = matrica[x][i];
                    matrica[x][i] = min;
                    matrica[x][poz] = temp;
                } //i
            } //x
                
                for ( x = 0; x < n; x++)  // вот тут надо как-то по другому
                    for (i = 0; i < n; i++) {
                        printf("\n\n%d", *matrica[x][i] ); // тут ругается на [ i ]    
                    }
                    
                    printf( "\n");
                    printf( "\nPress any key to quit");
Добавлено через 8 часов 33 минуты
Разобрался. Вот работающий вариант.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
            
            // переменные   int x = 1, min, poz;
            for (x = 0; x < n; x++)
            {   
                for (i = 0; i < dlina[ x ]; i++)
                {
                    min = matrica [ x ][ i ]; // берёт min элемент по индексу
                    poz = i;
                    for (j = i; j < dlina[ x ]; j++)
                    { // определяет, является ли следующий эл. меньшим
                        if ( min > matrica[ x ][ j ] ) 
                        { 
                            min = matrica[ x ][ j ];
                            poz = j; 
                        }
                    } //j
 
                    temp = matrica[ x ][ i ];
                    matrica[ x ][ i ] = min;
                    matrica[ x ][ poz ] = temp;
                } //i
            } //x
 
            printf("\n\n");
            for (x = 0; x < n; x++)
            {  
                for (i = 0; i < dlina[ x ] ; i++)
                    printf("%d ", matrica[ x ] [ i ] );
                printf("\n");
            }
                    
                printf( "\n");
                printf( "\nPress any key to quit");
 
                getch(); // ждёт нажатия какой либо кнопки
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2013, 17:39
Ответы с готовыми решениями:

Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y
Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный...

Дан двумерный массив А[n,m]. Обнулить элементы матрицы, стоящие выше главной диагонали. Вывести новый массив на печать.
1. Дан двумерный массив А. Обнулить элементы матрицы, стоящие выше главной диагонали. Вывести новый...

Вывести на печать массив
Помогите решить пож. Дана действительная матрица А (5.6). Вывести на печать массив В(5). Элементы...

Сформулировать и вывести на печать массив
Сформулировать и вывести на печать массив К(20), элементы которого принадлежат интервалу . Найти...

0
04.06.2013, 17:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2013, 17:39
Помогаю со студенческими работами здесь

Вывести заданный массив на печать
Нужно вывести в строку, через пробел значения всех элеметов заданного массива в таком порядке:...

Сформировать и вывести на печать массив
Сформировать и вывести на печать массив C15 , элементы которого принадлежат интервалу (-40,50).

Cформировать и вывести на печать массив
,Cформировать и вывести на печать массив А(25),элемента которого принадлежит интервалу С-50;20,....

Сформировать и вывести на печать массив
Сформировать и вывести на печать массив М(20), элементы которого принадлежат интервалу Определить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru