Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lexatigr
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 76
#1

Как то странно выводит матрицу. - C++

19.03.2011, 11:22. Просмотров 574. Ответов 11
Метки нет (Все метки)

Помогите, пожалуйста. Написал код для вывода матрицы.Но при наборе как то странно выводит матрицу,последние элементы не те!Хотел скриншот выложить, но что то не получилось!Помогите пожалуйста!
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
using namespace std;
 
int main(int argc, char *argv[])
{
    int i,j,N;
    int X[N][N];
    cout << "Razmernost matricy"; cin >> N;
     
for ( i = 0; i < N; i ++ )
   for ( j = 0; j < N; j ++ ) {
printf ("X[%d][%d]=", i, j);
scanf ("%d", & X[i][j]);
}
           
        
printf("Matrica X\n");
for ( i = 0; i < N; i ++ ) {
for ( j = 0; j < N; j ++ )
      printf ( "%4d", X[i][j] );
      printf("\n");
      }
      
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
Миниатюры
Как то странно выводит матрицу.  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2011, 11:22     Как то странно выводит матрицу.
Посмотрите здесь:

Как умножить матрицу на матрицу C++
Как умножить матрицу на матрицу? C++
Не выводит как то) C++
Почему не выводит отсортированную матрицу по сумме эл-тов строк(свой код есть) C++
C++ insert работает как-то странно
Написать программу, которая выводит пример на вычитание, запрашивает ответ пользователя, проверяет его и выводит сообщение о правильности C++
C++ Циклы ведут себя как-то странно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
19.03.2011, 11:26     Как то странно выводит матрицу. #2
В момент объявлении матрицы значение N неопределено.
lexatigr
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 76
19.03.2011, 11:27  [ТС]     Как то странно выводит матрицу. #3
Так я же его запрашиваю,N-размерность матрицы.
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
19.03.2011, 11:32     Как то странно выводит матрицу. #4
То есть, сначала создается матрица, а потом запрашивается размерность?
It does not work this way.
Nameless One
Эксперт С++
5767 / 3416 / 255
Регистрация: 08.02.2010
Сообщений: 7,441
19.03.2011, 11:33     Как то странно выводит матрицу. #5
lexatigr, оно должно быть известно ДО того, как объявлена матрица. А то так объявляем матрицу неизвестного размера.
lexatigr
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 76
19.03.2011, 11:34  [ТС]     Как то странно выводит матрицу. #6
То есть, что надо изменить??
C++
1
2
int X[N][N];
    cout << "Razmernost matricy"; cin >> N;
их просто поменять местами?
Nameless One
Эксперт С++
5767 / 3416 / 255
Регистрация: 08.02.2010
Сообщений: 7,441
19.03.2011, 11:35     Как то странно выводит матрицу. #7
lexatigr, ага. И память выделить динамически.
lexatigr
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 76
19.03.2011, 11:37  [ТС]     Как то странно выводит матрицу. #8
Спасибо, огромное!
А как выделить динамическую память??
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
19.03.2011, 11:38     Как то странно выводит матрицу. #9
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
36
37
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
 
 
int main(int argc, char *argv[])
{
    int i,j,N;
    int** X;
    cout << "Razmernost matricy"; cin >> N;
 
    X = new int*[N];
    for (i = 0; i < N; i++)
            X[i] = new int[N];
 
    for ( i = 0; i < N; i ++ )
        for ( j = 0; j < N; j ++ ) {
            printf ("X[%d][%d]=", i, j);
            scanf ("%d", & X[i][j]);
        }
 
 
        printf("Matrica X\n");
        for ( i = 0; i < N; i ++ ) {
            for ( j = 0; j < N; j ++ )
                printf ( "%4d", X[i][j] );
            printf("\n");
        }
 
    for (i = 0; i < N; i++)
            delete X[i];
    delete[] X;
 
        system("PAUSE");
        return EXIT_SUCCESS;
}
lexatigr
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 76
19.03.2011, 11:40  [ТС]     Как то странно выводит матрицу. #10
bigredcat,
C++
1
2
3
for (i = 0; i < N; i++)
                        delete X[i];
        delete[] X;
А что этот "кусок" программы делает?
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
19.03.2011, 11:49     Как то странно выводит матрицу. #11
Освобождает память, выделенную ранее для динамического массива

C++
1
2
3
4
5
6
7
8
9
10
11
// выделяем память
X = new int*[N];
for (i = 0; i < N; i++)
    X[i] = new int[N];
 
// ... как-то используем массив
 
// освобождаем, когда массив больше не нужен
for (i = 0; i < N; i++)
    delete X[i];
delete[] X;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2011, 11:52     Как то странно выводит матрицу.
Еще ссылки по теме:

Написан код который выводит матрицу .Нужно протранспонировать ее C++
C++ Создать программу, которая выводит на экран символьную матрицу
C++ Написать программу, которая выводит матрицу смежности графа с определенным количеством вершин и ребер
C++ Написать программу,которая выводит на экран ( для заданного n>1) верхнетреугольную матрицу
C++ Один поток транспонирует матрицу, другой выводит сумму строк в транспонированной матрице

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

Или воспользуйтесь поиском по форуму:
lexatigr
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 76
19.03.2011, 11:52  [ТС]     Как то странно выводит матрицу. #12
Спасибо большое!
А может, вы поможете выполнить такое условие:
1)Выбирать первый слева столбец матрицы, в котором есть хоть одно отличное от нуля значение.
2)Если самое верхнее число в этом столбце есть ноль, то заменить всю первую строку матрицы с другой строкой матрицы, где в этой колонке нет нуля.
Yandex
Объявления
19.03.2011, 11:52     Как то странно выводит матрицу.
Ответ Создать тему
Опции темы

Текущее время: 09:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru