Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2008, 15:32   #1
N!ckeL
Форумчанин
 
Регистрация: 29.03.2008
Сообщений: 300
Вопрос C++ матрица меняет значения

Всем привет=)
Задача по двумерным массивам, матрица 8 на 8, проблема в том что после ее заполнения с клавиатуры некоторые элементы меняют свое значение(( пробывал определять матрицу как short или long int не помогает. Вот код:
Код:
//-------------------------------------------------------------------------

#pragma hdrstop

//-------------------------------------------------------------------------

#pragma argsused
#include <iostream.h>
#define n 7//размер матрицы

int main()
{
        int matrix[n][n];
        int x, y;


//заполнение матрицы
        for (x=0; x<=n; x++)
                {       for (y=0; y<=n; y++)
                        {
                                cout<<x<<"/"<<y<<": ";
                                cin>>matrix[x][y];
                                cout<<"\n";
                        }
                }
//******************

//вывод матрицы на экран
        for (x=0; x<=n; x++)
                {
                        for (y=0; y<=n; y++)
                                {
                                        cout<<matrix[x][y]<<" ";
                                }
                        cout<<"\n";
                }
//**********************

        cout<<"Please press any key and enter...";
        cin>>x;
        return 0;
}
//-------------------------------------------------------------------------
допустим заполняю матрицу числами в порядке возрастания (1, 2, 3...), при выводе появляются две 9ки, в конце массива вообще огромное число появляется... как исправить?
Карп преодолевший водопад становится драконом.
N!ckeL вне форума Ответить с цитированием
Старый 09.11.2008, 15:58   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Код:
#define n 7//размер матрицы

int main()
{
        int matrix[n][n];
        int x, y;


//заполнение матрицы
        for (x=0; x<=n; x++)
n равно 7, массив от 0 до 6, цикл от 0 до 7. Можно сделать массив [n+1][n+1]. Но вообще если матрица 8x8, логично было бы сделать n=8, тогда массив будет [n-1][n-1], а в циклах будет знак <.
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция не меняет значение переменной.... DoHJICyaH Общие вопросы C/C++ 1 02.11.2008 20:10
Матрица Droid Общие вопросы Delphi 7 06.05.2008 20:14
SetBkColor не меняет цвет фона EdNovice Win Api 3 18.02.2008 23:59
Матрица Cartman18 Помощь студентам 4 13.12.2007 19:49