Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

Привет всем.
Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2011, 13:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. (C++):

Ввести двумерный массив с клавиатуры и упорядочить его элементы по возрастанию. - C++
Помогите решить задачу: Ввести двумерный массив с клавиатуры и упорядочить его элементы по возрастанию.Матрицу я написал, а вот упорядочить...

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов - C++
#include "stdafx.h" #include"iostream" using namespace std; int _tmain(int argc, _TCHAR* argv) { float v ; int i,j; int kk; ...

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов - C++
Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов . Хочу понять как это делается напишите...

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов - C++
Ребят, надо написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет среднее арифметическое его...

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов - C++
float v ; int i,j; int kk; float sr; float sum=0; for(int i=0; i<kk;i=i+1) cout<<endl<<"v="; cin>>v; for(int j=0;...

Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов. - C++
Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов. Начиная от этого...

11
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
28.10.2011, 13:42 #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];
0
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:02 #3
silent_1991, задание читали???
Цитата Сообщение от Ilm1R Посмотреть сообщение
Его размерность [n][m] нужно задавать с клавиатуры.
0
anonimious
13 / 13 / 2
Регистрация: 17.10.2011
Сообщений: 54
28.10.2011, 14:06 #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;}
0
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:06 #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;
}
1
Миниатюры
Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.  
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:09 #6
Цитата Сообщение от anonimious Посмотреть сообщение
for(int i=0;i<n;i++)
* * * * mas[i]=new int[m];
* * for(int i=0;i<n;i++)
- зачем повторять циклы???
0
anonimious
13 / 13 / 2
Регистрация: 17.10.2011
Сообщений: 54
28.10.2011, 14:17 #7
C++
1
for(int i=0;i<m;i++)
второй цикл
0
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:20 #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;
}
1
Миниатюры
Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.  
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:23 #9
anonimious, 2-й цикл можно слить с первым и получить экономию минимум на m-операций
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
for(i = 0; i < m; i++)
* * * * {
* * * * * * * * //Память под элементы строки
* * * * * * * * arr[i] = new int[n];
* * * * * * * * for(j = 0; j < n; j++)
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
28.10.2011, 14:52 #10
-=ЮрА=-, подумал, что речь шла о самом массиве, а не о размерности.
0
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 14:59 #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];
- правда память не очень рационально использоваться будет, так что впринципе и так для ТС сойдёт, вдруг это студен и они динамику ещё не проходили
0
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
28.10.2011, 15:11 #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]);
}
0
28.10.2011, 15:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2011, 15:11
Привет! Вот еще темы с ответами:

Ввести с клавиатуры массив, распределить память для его размещения и ввести int значения этого массива - C++
Подскажите пожалуйста. Задача такая : ввести с клавиатуры n элементов массива, распределить память для его размещения и ввести int значения...

Ввести размерность матрицы с клавиатуры - C++
Привет,мир! Как сделать так, чтобы самому задавать размерность матрицы. #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std;...

Ввести размерность матрицы с клавиатуры - C++
Задача: создать массив N*M, (ввод размерности с клавиатуры) и вывести его на экран. Написала код, но где-то видимо туплю, помогите,...

Ввести с клавиатуры массив, а потом вывести его на экран - C++
Народ, помогите исправить ошибки, пожалуйста.. Нужно ввести с клавиатуры массив, а потом вывести его на экран.. #include &lt;iostream&gt; ...


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

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

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