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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2010, 19:50   #1
Перфаратар
Пользователь
 
Регистрация: 11.09.2010
Сообщений: 15
По умолчанию Заполнение матрицы С++

Пользователь должен указать кол-во рядков, столбцов и заполнить матрицу элементами. Как это сделать, что бы потом можно было работать с каждым элементом отдельно. Спасибо.
Перфаратар вне форума Ответить с цитированием
Старый 16.10.2010, 21:11   #2
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

Один из самых простых вариантов:
Код:
#include <iostream>

using namespace std;

int main()
{
    int n, m, i, j, **myarray;
    cout << "Vvedite koli4estvo strok" << endl;
    cin >> n;
    cout << "Vvedite koli4estvo stolbcov" << endl;
    cin >> m;

    myarray = new int*[n];

    for(i = 0; i < n; i++)
        myarray[i] = new int [m];


    // ввод массива вручную
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        {
            cout << "Vvedite element " << i << " " << j << endl;
            cin >> myarray[i][j];
        }

    cout << "Massiv:" << endl;
    // вывод массива на экран
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            cout << myarray[i][j] << "  ";
        cout << endl; //тут обрываем строку
    }


    //Удаляем массив - освобождаем память
    for(int i = 0; i < n; i++)
    {
        delete[] myarray[i];
    }
    delete[] myarray;

    return 0;
}
Изо всей благодати
В руках крепко сжатых
Я донесу только капли

Последний раз редактировалось Roof; 16.10.2010 в 21:13.
Roof вне форума Ответить с цитированием
Старый 16.10.2010, 22:38   #3
Перфаратар
Пользователь
 
Регистрация: 11.09.2010
Сообщений: 15
По умолчанию

Я очень извиняюсь, просто мы учимся по программе и препод не принимает программи с теми операторами, которые мы ещё не учили, вот например как myarray, я примерно понял, что это указатель, но до конца не знаю как он работает. Можно без него?
Перфаратар вне форума Ответить с цитированием
Старый 16.10.2010, 22:50   #4
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

myarray - это я сам придумал имя для массива. Назови его как хочешь, в пределах синтаксиса языка, конечно.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 16.10.2010, 23:11   #5
Перфаратар
Пользователь
 
Регистрация: 11.09.2010
Сообщений: 15
По умолчанию

А можно это

#include <iostream>

using namespace std;

int main()
{
int n, m, i, j, **myarray;

заменить так

#include <iostream>
const int n=1, m=1;

using namespace std;

int main()
{
int n, m, i, j, x[n][m];
Перфаратар вне форума Ответить с цитированием
Старый 16.10.2010, 23:24   #6
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

n и m - в данном случае в моем коде - это количество строк и столбцов. Если их приравнять к 1 - то ерунда получается.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 20.10.2010, 19:17   #7
Перфаратар
Пользователь
 
Регистрация: 11.09.2010
Сообщений: 15
По умолчанию

Ну ладно это я всё понял, но на самом деле у меня задание гораздо сложнее. После того как юзер заполнил матрицу, программа должна исключить две диагонали, которые поделят матрицу на 4 сектора, и нужно найти сумму элементов в каждом секторе, в общем получиться 4 суммы соответствующих секторов. Я написал уже такую прогу, но она подходит для случаев если юзер задаст матрицу 3х3, или 4х4, а вот дальше с 5х5 я вообще ума не приложу как быть.
Перфаратар вне форума Ответить с цитированием
Старый 20.10.2010, 19:20   #8
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

для этого вопроса рекомендую создать отдельную тему с соответствующим названием, а так же выложить свой код и указать что именно не получается.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение матрицы рандомом Law1589 Общие вопросы C/C++ 5 17.11.2009 23:04
Заполнение матрицы -=aHTPoПоС=- Помощь студентам 3 06.11.2009 17:33
Заполнение матрицы Pascal lebrosha Помощь студентам 3 25.05.2009 19:55
Заполнение матрицы Pedro Помощь студентам 3 22.04.2009 23:53
создание и заполнение матрицы Blad47 Общие вопросы C/C++ 6 13.12.2008 16:38