Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/55: Рейтинг темы: голосов - 55, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 6
1

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

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

Author24 — интернет-сервис помощи студентам
Привет,мир!
Как сделать так, чтобы самому задавать размерность матрицы.
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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2013, 01:53
Ответы с готовыми решениями:

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

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

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

Задать размерность матрицы с клавиатуры
Подскажите пожалуйста как сделать чтобы можно было задавать размер матрицы с клавиатуры. Код...

5
118 / 110 / 78
Регистрация: 30.01.2013
Сообщений: 297
13.12.2013, 01:55 2
почитай про динамическое выделение памяти. тут на форму много статей. да и в гугле много
0
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
13.12.2013, 02:12 3
Vladio, почитай про динамическое выделение памяти.

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

Не по теме:

опоздал

1
All rights reserved.
93 / 83 / 24
Регистрация: 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
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
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
All rights reserved.
93 / 83 / 24
Регистрация: 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
13.12.2013, 04:23
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2013, 04:23
Помогаю со студенческими работами здесь

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

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

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

Ввести с клавиатуры значения матрицы В (10,10) произвольного размера n*n, где n<= 10. Найти среднее значение ее элементо
Ввести с клавиатуры значения матрицы В (10,10) произвольного размера n*n, где n&lt;= 10. Найти среднее...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
[golang] 80. Remove Duplicates from Sorted Array II
alhaos 28.01.2025
В предоставленном упорядоченном по возрастанию целочисленном слайсе, оставить уникальные элементы полюс один возможный дубликат. Вернуть количество таких элементов. / / . . .
Что такое внедрение зависимостей и для чего оно применяется
bytestream 27.01.2025
В современной разработке программного обеспечения одной из ключевых проблем является управление зависимостями между различными компонентами системы. Внедрение зависимостей (Dependency Injection, DI). . .
Как установить cellpadding и cellspacing в CSS
bytestream 27.01.2025
При создании веб-страниц с табличными данными разработчики часто сталкиваются с необходимостью правильного оформления внутренних и внешних отступов в таблицах. В традиционной разметке HTML для этих. . .
Чем отличаются public, protected, package-private и private в Java
bytestream 27.01.2025
В языке программирования Java механизм модификаторов доступа играет ключевую роль в реализации одного из фундаментальных принципов объектно-ориентированного программирования - инкапсуляции. . . .
Зачем нужно explicit в C++. Преобразование типов
bytestream 27.01.2025
В мире программирования на C++ управление преобразованием типов данных играет crucial роль в создании надежного и безопасного кода. Язык C++ предоставляет множество механизмов для контроля над. . .
Как создать удалённую (remote) ветку в Git
bytestream 27.01.2025
Система контроля версий Git стала неотъемлемой частью современной разработки программного обеспечения, предоставляя разработчикам мощные инструменты для управления кодовой базой. Одним из ключевых. . .
Как создать утечку памяти в Java
bytestream 27.01.2025
Утечка памяти в Java представляет собой ситуацию, когда программа неэффективно использует доступную память, удерживая ссылки на объекты, которые больше не нужны для работы приложения. Несмотря на. . .
КуМир: как решать задачи на числа
bytestream 27.01.2025
КуМир (Комплект Учебных МИРов) представляет собой уникальную образовательную среду программирования, разработанную специально для обучения основам алгоритмизации и программирования. Эта система. . .
Исполнитель Черепаха в КуМир: как решать задачи
bytestream 27.01.2025
Исполнитель Черепаха в системе КуМир представляет собой мощный образовательный инструмент, который помогает освоить основы программирования через визуальное представление результатов выполнения. . .
КуМир: как решать задачи на массивы
bytestream 27.01.2025
Массивы представляют собой важнейшую структуру данных в программировании, и система КуМир предоставляет удобные инструменты для работы с ними. В контексте КуМир массив можно представить как. . .
[golang] 26. Remove Duplicates from Sorted Array
alhaos 27.01.2025
Необходимо удалить дубликаты из предоставленного целочисленного отсортированного по взрастанию слайса, нужно изменить значения в слайсе и вернуть количество элементов. / / . . .
КуМир, исполнитель Робот. Решение задач
bytestream 27.01.2025
КуМир (Комплект Учебных МИРов) представляет собой образовательную среду для обучения программированию, которая была создана в Отделении информатики Российской Академии наук. Эта система разработана. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru