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

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

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

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

19.03.2011, 11:22. Просмотров 582. Ответов 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;
}
0
Миниатюры
Как то странно выводит матрицу.  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2011, 11:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как то странно выводит матрицу. (C++):

Написан код который выводит матрицу .Нужно протранспонировать ее - C++
Написан код который выводит матрицу .Нужно протранспонировать ее. #include &lt;iostream&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; ...

Создать программу, которая выводит на экран символьную матрицу - C++
создать прогу которая выводит на экран символьную матрицу. пример вывода. * * * * * * * * * * * * * * * * * * * * ...

Написать программу,которая выводит на экран ( для заданного n>1) верхнетреугольную матрицу - C++
Напишите пожалуйста( Написать программу,которая выводит на экран ( для заданного n&gt;1) верхнетреугольную матрицу: n=2 1 2 ...

Один поток транспонирует матрицу, другой выводит сумму строк в транспонированной матрице - C++
В программе порождаются два потока работающие с матрицей размером m*n. Один поток транспонирует матрицу, другой выводит сумму строк в...

Почему не выводит отсортированную матрицу по сумме эл-тов строк(свой код есть) - C++
Здравствуйте! Условие задачи такое: расположить строки матрицы в порядке убывания суммы модулей элементов строк, использовать...

insert работает как-то странно - C++
По задумке при последовательном вводе чисел 1, 2, 3 и тд на экране должно появится 2 2 1 1 и тд а выходит 2 1 2 1...и тд

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
19.03.2011, 11:26 #2
В момент объявлении матрицы значение N неопределено.
0
lexatigr
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 76
19.03.2011, 11:27  [ТС] #3
Так я же его запрашиваю,N-размерность матрицы.
0
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
19.03.2011, 11:32 #4
То есть, сначала создается матрица, а потом запрашивается размерность?
It does not work this way.
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
19.03.2011, 11:33 #5
lexatigr, оно должно быть известно ДО того, как объявлена матрица. А то так объявляем матрицу неизвестного размера.
0
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;
их просто поменять местами?
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
19.03.2011, 11:35 #7
lexatigr, ага. И память выделить динамически.
0
lexatigr
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 76
19.03.2011, 11:37  [ТС] #8
Спасибо, огромное!
А как выделить динамическую память??
0
bigredcat
365 / 312 / 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;
}
0
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;
А что этот "кусок" программы делает?
0
bigredcat
365 / 312 / 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;
0
lexatigr
0 / 0 / 0
Регистрация: 16.12.2010
Сообщений: 76
19.03.2011, 11:52  [ТС] #12
Спасибо большое!
А может, вы поможете выполнить такое условие:
1)Выбирать первый слева столбец матрицы, в котором есть хоть одно отличное от нуля значение.
2)Если самое верхнее число в этом столбце есть ноль, то заменить всю первую строку матрицы с другой строкой матрицы, где в этой колонке нет нуля.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2011, 11:52
Привет! Вот еще темы с ответами:

Написать программу, которая выводит матрицу смежности графа с определенным количеством вершин и ребер - C++
Всем доброго времени суток!!! Передо мной стоит задача: написать программу, которая выводит матрицу смежности графа с определенным...

Циклы ведут себя как-то странно - C++
#include &lt;iostream&gt; using namespace std; int main() { float A={1,2,3,4,5,6,7,8,9,10}; float MAX=0; int I; int sum=0; ...

Как умножить матрицу на матрицу? - C++
Как умножить матрицу на матрицу? Напишите пожалуйста!

Как умножить матрицу на матрицу - C++
Как умножить матрицу на матрицу в Visual Studio?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.03.2011, 11:52
Ответ Создать тему
Опции темы

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