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

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

Войти
Регистрация
Восстановить пароль
 
Vladio
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 6
#1

Ввести размерность матрицы с клавиатуры - C++

13.12.2013, 01:53. Просмотров 599. Ответов 5
Метки нет (Все метки)

Привет,мир!
Как сделать так, чтобы самому задавать размерность матрицы.
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
#include <iostream>
#include <conio.h>
using namespace std;
const int n=3,m=4;
int main()
{
    int A[n][m];
    int k=0,sum=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<"Vvedite ["<<i<<"]["<<j<<"] element: ";
            cin>>A[i][j];
        }
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<A[i][j]<<" ";
        }
        cout<<endl;
    }
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            sum=sum+A[j][i];
        }
        for(int a=0;a<n;a++)
        {
            if(A[a][i]>sum-A[a][i]) k++;
        }
        sum=0;
    }
    cout<<"Otvet: "<<k<<endl;
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2013, 01:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ввести размерность матрицы с клавиатуры (C++):

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

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

Задать размерность матрицы с клавиатуры - C++
Подскажите пожалуйста как сделать чтобы можно было задавать размер матрицы с клавиатуры. Код программы: #include &lt;iostream.h&gt; ...

Задать размерность матрицы с клавиатуры - C++
Задан двумерный массив U. Значения n и m должны вводиться. Внутренние значения массива выбираются случайно. Полученный массив должен...

С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица - C++
доброе время суток )помогите пожалуйста с задачкой,если кому не сложно ) 3. С клавиатуры вводится размерность целочисленной матрицы,...

Ввести с клавиатуры две целочисленные матрицы, и перемножить их друг на друга - C++
Доброго времени суток ув. люди. Так случилось, что учился я несколько курсов в одном у.з. и перешел другой. В одном изучали...

5
ZeR_0
117 / 109 / 37
Регистрация: 30.01.2013
Сообщений: 297
13.12.2013, 01:55 #2
почитай про динамическое выделение памяти. тут на форму много статей. да и в гугле много
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
13.12.2013, 02:12 #3
Vladio, почитай про динамическое выделение памяти.

Добавлено через 22 секунды

Не по теме:

опоздал

1
StackOverflow
All rights reserved.
92 / 82 / 5
Регистрация: 03.08.2013
Сообщений: 258
13.12.2013, 02:26 #4
Vladio, значения size1 и size2, а также тип массива можете задавать по своему вкусу.
C++
1
2
3
4
5
6
7
8
9
10
11
.....
    int size1 = 10;
    int size2 = 7;
    
    int ** array = new int * [ size1 ];
 
    for ( int i = 0; i < size; i++ )
    {
        array[ i ] = new int [ size2 ];
    }
.....
2
Genn55
378 / 225 / 41
Регистрация: 26.12.2012
Сообщений: 742
13.12.2013, 03:05 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
42
#include<iostream>
#include<stdlib.h>//рандомизатора
#include<time.h>//для правильной работы рандомизатора
#include<Windows.h>//для русского
#include <iomanip>
 
using namespace std;//пространство имен
 
int main()//главная функция
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);//русский
 
    srand(time(NULL));//для правильной работы рандомизатора
    int n,m;
    cout <<"Введите количество строк"<<"\n";
    cin >> n;
    cout<<"Введите количество столбцов"<< "\n";
    cin >> m;
    // динамическое создание двумерного массива
    int **A = new int* [n]; // строк в массиве
    for (int i = 0; i < n; i++)
        A[i] = new int [m]; // столбцов
    // заполнение массива и вывод на экран
         for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
         {
            A[i][j]=rand()%100;//заполняем в интервале 100
             cout << setw(3) << A[i][j] << ' ';// выводим сформированный массив
         }
        cout<<"\n";
    }
         // Удаление массива
    for (int i = 0; i < n; i++)
    {
        delete[]A[i]; // Удаляем каждый элемент
    }
    delete [] A; // А потом массив
 
    return 0;
}
1
StackOverflow
All rights reserved.
92 / 82 / 5
Регистрация: 03.08.2013
Сообщений: 258
13.12.2013, 04:23 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Vladio, перегрузка шаблонных функций, если часто требуется создавать массивы различных типов и размерностей:
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
#include <iostream>
#include <string>
 
template < typename returnType, typename inputType >
returnType * createArray( inputType column )
{
    returnType * arrayPtr = new returnType [ column ];
 
    return arrayPtr;
}
 
template < typename returnType, typename inputType >
returnType ** createArray( inputType row, inputType column )
{
    returnType ** arrayPtr = new returnType * [ row ];
 
    for ( int i = 0; i < row; i++ )
    {
        arrayPtr[ i ] = new returnType [ column ];
    }
 
    return arrayPtr;
}
 
int main()
{
    double * arrayOfDoubles = createArray < double > ( 8 );
 
    int * arrayOfIntegers = createArray < int > ( 10 );
 
    std::string ** arrayOfStrings = createArray < std::string > ( 10, 2 );
 
.....
 
    return 0;
}
Добавлено через 24 минуты
Лучше бы конечно возвращаемый тип специфицировать как returnType * const, дабы избежать возможной утечки памяти в будущем.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2013, 04:23
Привет! Вот еще темы с ответами:

Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы - C++
Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы 3 * 3 (двохмирний массив)

Размерность массива без ее ввода с клавиатуры - C++
В условии сказано:&quot; Из файла (имя файла вводится с клавиатуры) считывается массив целых чисел. Размер массива заранее неизвестен...&quot;....

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

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


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

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

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