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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 137, средняя оценка - 4.91
Ilm1R
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 16
#1

Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. - C++

28.10.2011, 13:09. Просмотров 19133. Ответов 11
Метки нет (Все метки)

Привет всем.
Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2011, 13:09     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.
Посмотрите здесь:
Ввести двумерный массив с клавиатуры и упорядочить его элементы по возрастанию. C++
Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов C++
C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
C++ Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов.
Ввести с клавиатуры массив, распределить память для его размещения и ввести int значения этого массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
28.10.2011, 13:42     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #2
C++
1
2
3
4
5
6
7
8
9
10
const size_t n = 3;
const size_t m = 4;
 
int arr[n][m];
 
//.....
 
for (size_t i = 0; i < n; ++i)
    for (size_t j = 0; j < m; ++j)
        std::cin >> arr[i][j];
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:02     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #3
silent_1991, задание читали???
Цитата Сообщение от Ilm1R Посмотреть сообщение
Его размерность [n][m] нужно задавать с клавиатуры.
anonimious
13 / 13 / 2
Регистрация: 17.10.2011
Сообщений: 54
28.10.2011, 14:06     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #4
Компилятора под рукой нет, поэтому проверьте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main(void){
    int n, m; cin>>n>>m;
    int **mas=new int*[n];
    for(int i=0;i<n;i++)
        mas[i]=new int[m];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>mas[i][j];
    for(int i=0;i<n;i++)
        delete []mas[i];
    delete []mas; cout<<endl;}
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:06     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #5
Ilm1R, это динамика на Си
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>//malloc system
 
int main()
{
    int i,j,m, n;
    printf("Enter num of rows : ");scanf("%d",&m);
    printf("Enter num of cols : ");scanf("%d",&n);
 
    //Памядь под указатели на строки
    int ** arr = (int **)malloc(m*sizeof(int *));
    for(i = 0; i < m; i++)
    {
        //Память под элементы строки
        arr[i] = (int *)malloc(n*sizeof(int));
        for(j = 0; j < n; j++)
            printf("%02d ",(arr[i][j] = i + j));
        printf("\n");
    }
    system("pause");
    return 0;
}
Миниатюры
Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.  
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:09     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #6
Цитата Сообщение от anonimious Посмотреть сообщение
for(int i=0;i<n;i++)
* * * * mas[i]=new int[m];
* * for(int i=0;i<n;i++)
- зачем повторять циклы???
anonimious
13 / 13 / 2
Регистрация: 17.10.2011
Сообщений: 54
28.10.2011, 14:17     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #7
C++
1
for(int i=0;i<m;i++)
второй цикл
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:20     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #8
Ниже динамика на С++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    int i,j,m, n;
    cout<<"Enter num of rows : ";cin>>m;
    cout<<"Enter num of cols : ";cin>>n;
 
    //ГЏГ*ìÿäü ïîä ГіГЄГ*Г§Г*òåëè Г*Г* ñòðîêè
    int ** arr = new int * [m];
    for(i = 0; i < m; i++)
    {
        //ГЏГ*ìÿòü ïîä ýëåìåГ*ГІГ» ñòðîêè
        arr[i] = new int[n];
        for(j = 0; j < n; j++)
            cout<<setfill(' ')<<setw(2)<<(arr[i][j] = i + j)<<" ";
        cout<<"\n";
    }
    system("pause");
    return 0;
}
Миниатюры
Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.  
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:23     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #9
anonimious, 2-й цикл можно слить с первым и получить экономию минимум на m-операций
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
for(i = 0; i < m; i++)
* * * * {
* * * * * * * * //Память под элементы строки
* * * * * * * * arr[i] = new int[n];
* * * * * * * * for(j = 0; j < n; j++)
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
28.10.2011, 14:52     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #10
-=ЮрА=-, подумал, что речь шла о самом массиве, а не о размерности.
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:59     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #11
Цитата Сообщение от silent_1991 Посмотреть сообщение
-=ЮрА=-, подумал, что речь шла о самом массиве, а не о размерности.
- впринципе если в вашем коде M и N сделать достаточно большими, то для простоты ТС может юзать и статический массив, как то так
C++
1
2
3
4
5
6
7
8
9
10
const size_t N = 20;
const size_t M = 20;
 
int arr[N][M];
std::cout<<"Enter m:";std::cin>>m;
std::cout<<"Enter n:";std::cin>>n;
 
for (size_t i = 0; i < n; ++i)
    for (size_t j = 0; j < m; ++j)
        std::cin >> arr[i][j];
- правда память не очень рационально использоваться будет, так что впринципе и так для ТС сойдёт, вдруг это студен и они динамику ещё не проходили
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2011, 15:11     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.
Еще ссылки по теме:
Ввести размерность матрицы с клавиатуры C++
C++ Ввести размерность матрицы с клавиатуры
C++ Ввести с клавиатуры массив, а потом вывести его на экран
Ввести массив с клавиатуры и найти количество его элементов C++
C++ Дан двумерный массив размером m*n. Заполнить его с клавиатуры

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

Или воспользуйтесь поиском по форуму:
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
28.10.2011, 15:11     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. #12
C
1
2
3
4
5
6
7
8
9
10
11
12
13
/* C99 */
#include <stdio.h>
 
int main()
{
    int n, m;
    scanf("%d%d", &n, &m);
    
    int matrix[n][m];
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < n ; ++j)
            scanf("%d", &matrix[i][j]);
}
Yandex
Объявления
28.10.2011, 15:11     Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.
Ответ Создать тему
Опции темы

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