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

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

Войти
Регистрация
Восстановить пароль
 
korsarqa
7 / 7 / 0
Регистрация: 06.12.2011
Сообщений: 170
#1

Ручное заполнение матрицы - C++

26.05.2012, 16:39. Просмотров 650. Ответов 9
Метки нет (Все метки)

Здравствуйте. Надо создать матрицу.Число строк и столбцов указывается пользователем ну и каждый элемент он тоже должен вводить. Помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2012, 16:39     Ручное заполнение матрицы
Посмотрите здесь:

Заполнение матрицы C++
Заполнение матрицы C++
Заполнение матрицы C++
C++ Заполнение матрицы
Заполнение матрицы! C++
Заполнение матрицы C++
C++ Заполнение матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
340 / 261 / 15
Регистрация: 14.11.2010
Сообщений: 480
26.05.2012, 16:45     Ручное заполнение матрицы #2
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
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int main()
{
    int n,m;
    cout<<"Vvedite n: ";cin>>n;
    cout<<"Vvedite m: ";cin>>m;
    int** matr=new int*[n];
    for(int i=0;i<n;i++)
        matr[i]=new int[m];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<"VVedite ["<<i<<"]["<<j<<"] element: ";cin>>matr[i][j];
        }
    }
    cout<<"Sformirovannaya matrica: "<<endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<matr[i][j]<<" ";
        }
        cout<<endl;
    }
    getch();
    return 0;
}
korsarqa
7 / 7 / 0
Регистрация: 06.12.2011
Сообщений: 170
26.05.2012, 16:47  [ТС]     Ручное заполнение матрицы #3
Спасибо большое
Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
26.05.2012, 16:47     Ручное заполнение матрицы #4
Andrey.K, забыли освободить память!
Andrey.K
340 / 261 / 15
Регистрация: 14.11.2010
Сообщений: 480
26.05.2012, 16:53     Ручное заполнение матрицы #5
Цитата Сообщение от Infinity3000 Посмотреть сообщение
Andrey.K, забыли освободить память!
Полностью согласен, в торопях писал, на поезд спешу т.т
korsarqa
7 / 7 / 0
Регистрация: 06.12.2011
Сообщений: 170
26.05.2012, 17:04  [ТС]     Ручное заполнение матрицы #6
Пару вопросов:
1. При задании числами ячеек эти ячейки начинают нумероваться с [0][0],[0][1],[1][0]
Можно ли сделать чтобы начиналось с [1][1] .
2. Как сделать ограничение на вводимые числа в ячейки? например чтобы могли вводить только 0 и 1.
Вот что то пытался:
C++
1
2
3
            do {
            cout<<"Введите ["<<i<<"]["<<j<<"] элемент: ";cin>>matr[i][j];
            } while (matr[i][j]!=0 || matr[i][j]!=1);
Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
26.05.2012, 17:30     Ручное заполнение матрицы #7
Цитата Сообщение от korsarqa Посмотреть сообщение
При задании числами ячеек эти ячейки начинают нумероваться с [0][0],[0][1],[1][0]
Можно ли сделать чтобы начиналось с [1][1] .
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
38
39
40
41
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int n,m;
    cout<<"Vvedite n: ";
    cin>>n;
    cout<<"Vvedite m: ";
    cin>>m;
    int** matr=new int*[n];
    for(int i=0;i<n;i++)
        matr[i]=new int[m];
 
 
    for(int i = 0; i < n; i++)
    {
        for(int j = 0;j < m; j++)
        {
            cout<<"VVedite ["<<i + 1<<"]["<<j + 1<<"] element: ";
                cin>>matr[i][j];
        }
    }
 
    cout<<"Sformirovannaya matrica: "<<endl;
    
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<matr[i][j]<<"\t";
        }
        cout<<endl;
    }
 
    for (int i = 0; i < n; i++)
        delete [] matr[i];
    delete [] matr;
    getch();
    return 0;
}
MrGluck
Ворчун
Эксперт CЭксперт С++
6435 / 3633 / 452
Регистрация: 29.11.2010
Сообщений: 9,602
26.05.2012, 17:33     Ручное заполнение матрицы #8
Можно ещё добавить защиту от дураков:

C++
1
if (n < 0 || m < 0) return 1;
либо
C++
1
2
3
4
5
6
7
do
{
    cout<<"Vvedite n: ";
    cin>>n;
    cout<<"Vvedite m: ";
    cin>>m;
} while (n < 0 || m < 0);
korsarqa
7 / 7 / 0
Регистрация: 06.12.2011
Сообщений: 170
26.05.2012, 17:34  [ТС]     Ручное заполнение матрицы #9
C++
1
2
3
            do {
            cout<<"Введите ["<<i<<"]["<<j<<"] элемент: ";cin>>matr[i][j];
            } while (matr[i][j]!=0 || matr[i][j]!=1);
Блин почему эта команда не работает?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2012, 17:43     Ручное заполнение матрицы
Еще ссылки по теме:

Ручное заполнение трехмерного массива C++
C++ Какую именно часть кода заменить, чтобы организовать ручное заполнение матрицы?
C++ Заполнение матрицы
С++ заполнение матрицы C++
Заполнение матрицы C++

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт CЭксперт С++
6435 / 3633 / 452
Регистрация: 29.11.2010
Сообщений: 9,602
26.05.2012, 17:43     Ручное заполнение матрицы #10
Цитата Сообщение от korsarqa Посмотреть сообщение
C++
1
2
3
            do {
            cout<<"Введите ["<<i<<"]["<<j<<"] элемент: ";cin>>matr[i][j];
            } while (matr[i][j]!=0 || matr[i][j]!=1);
Блин почему эта команда не работает?
Она работает так, как вы указали, а именно:
Считывать элемент, пока он не равен 0 или не равен 1. Два взаимоисключающих условия.
Yandex
Объявления
26.05.2012, 17:43     Ручное заполнение матрицы
Ответ Создать тему
Опции темы

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