0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
1

Ввод данных в двумерный динамический массив

07.10.2016, 17:50. Показов 4685. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!

Осваиваю уже третий день двумерные массивы в С++, но каким образом они создаются до сих пор не понятно.

У меня было много попыток создать нужный мне двумерный массив, но что-то шло не так.

Собственно, теперь вопрос:

Как создать двумерный динамический массив Q и W размерами, в который через клавиатуру будем вводить целые числа?

У меня получилось что-то вроде такого:

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
#include "stdafx.h"
#include "stdio.h"
 
int main() {
    int q, w;
    printf("Vvedite razmer Q: ");
    scanf_s("%d", &q);
    printf("Vvedite razmer W: ");
    scanf_s("%d", &w);
    
    int  **mass;
 
    mass = new int*[q];
    for (int i = 0; i < q; i++)
        mass[i] = new int[w];
    for (int i = 0; i < q; i++)
    for (int j = 0; j < w; j++)
    {
        
        scanf_s("Vvedite elementi massiva:%d", mass[i][j]);
        printf("elemti massiva:%d\n", mass[i][j]);
    }
    return 0;
}
Но после ввода размеров(q и w), программа выводит последний print с отрицательным большим числом.


Просьба, при объяснении как это работает употреблять ввод/вывод в формате printf и scanf.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2016, 17:50
Ответы с готовыми решениями:

Динамический ввод и вывод данных в двумерный массив
Не могу реализовать ввод и вывод данных двумерного массива используя указатель на указатель, в чём...

Двумерный динамический массив. Ввод размера с клавиатуры
Что я делаю не так? Хочу с клавиатуры вводить размерность двумерного динамического массива,...

Ввод данных в динамический массив из файла
В задаче написано: введение данных в динамический массив делать из файла. Как это?

Ввод данных в динамический массив из файла
написал программу, вроде все по правилам,только почему-то каждый раз переходит по стрелке &quot;файл не...

8
Заблокирован
07.10.2016, 17:56 2
Цитата Сообщение от Boogie Woogie Посмотреть сообщение
scanf_s("Vvedite elementi massiva:%d", ????mass[i][j]);
многовато для ввода
в чем разница с scanf_s("%d", &q);?
0
0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
07.10.2016, 18:05  [ТС] 3
MansMI,
Согласен, дикий косяк
удивляюсь как до такого додумался D:

>в чем разница с scanf_s("%d", &q);?

разница между чем и чем?
0
Заблокирован
07.10.2016, 18:09 4
это был один вопрос, про использование scanf_s

Добавлено через 1 минуту
и динамические массивы принято убирать(за собой)
0
0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
07.10.2016, 18:16  [ТС] 5
MansMI,
да, я помню, что нужно убирать

но проблема же не в этом?
0
Заблокирован
07.10.2016, 18:17 6
а что проблема осталась?
0
0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
07.10.2016, 18:20  [ТС] 7
MansMI,
Либо ты издеваешься, либо я что-то не понимаю.

Да, проблема осталась.
0
Модератор
Эксперт С++
13334 / 10635 / 6354
Регистрация: 18.12.2011
Сообщений: 28,406
07.10.2016, 18:23 8
Лучший ответ Сообщение было отмечено Boogie Woogie как решение

Решение

Посмотрите вот этот образец:
Образцы (шаблоны) программ для типовых задач
Вот ввод оттуда
C++
1
2
3
4
5
6
7
8
9
10
11
//
//---- ввод матрицы--------------------------------------
//
void Input( int ** M, size_t n, size_t m ) {
    for ( size_t i = 0; i < n; ++i ) {
        for ( size_t j = 0; j < m; ++j ) {
            std::cout << "M[" << i << "][" << j << "] = ";
            std::cin >> M[i][j];
        }
    }
}
Если править Ваш Сишный код, то так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    for (i = 0; i < q; i++)
    for (j = 0; j < w; j++)
    {
        
        printf("Enter mass[%d][%d]:", i,j);
        scanf_s("%d", &mass[i][j]);
    }
    printf("elemti massiva:\n");
    for ( i = 0; i < q; i++)
    {
        for (int j = 0; j < w; j++)
            printf("%d ", mass[i][j]);
        printf("\n");
    }
1
0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
08.10.2016, 13:21  [ТС] 9
zss, Большое спасибо, со всем ознакомился и все понял.

Можно в этом топе еще один вопрос задать? или нужно новый создавать?
0
08.10.2016, 13:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2016, 13:21
Помогаю со студенческими работами здесь

Ввод данных в динамический массив структур
Помогите правильно написать функцию - сколь не пробовал, не получается - getinfo(), которая требует...

Ввод данных/выделение памяти (динамический символьный массив)
1. Если ли разница в таких двух вариантах объявления динамического символьного массива: а) char...

Ввод данных из файла в двумерный массив
Здравствуйте! Я написал такую программу: #include &lt;iostream&gt; #include &lt;fstream&gt; using...

Считывание данных в двумерный динамический массив
Добрый день, возникла проблема в процессе работы с текстовым файлом и последующим считыванием его....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru