Главная » 2017 » Апрель » 14 » Динамическая матрица. Ввод и Вывод. Выбор режима
12:44
Динамическая матрица. Ввод и Вывод. Выбор режима

#include<iostream>
#include <Windows.h>
#include <ctime>
using namespace std;
void vvod(int **a, int n, int m);
void vvod2(int **a, int n, int m);
void vivod(int **a, int n, int m);
int summa(int **a,int n, int m);
int main() 
{
    setlocale(LC_ALL, "Russian"); 
    SetConsoleCP(1251); SetConsoleOutputCP(1251);
    int n,m;
    int **a;
    cout << "Введите количество строк и столбцов"<<endl;
    cin >>n>>m;
    a=new int *[n]; 
    for (int i=0;i<n;i++) 
        a[i]=new int [m]; 

    cout << "Введите режим ввода: 1-ввод с клавиатуры, 2-ввод случайными числами"<<endl;
    int k;
    cin >>k;

    cout << "Введите матрицу"<<endl;
    if (k==1)
        vvod(a,n,m);
    else
        vvod2(a,n,m);
    cout << "Введённая матрица"<<endl;
    vivod(a,n,m);
    cout << "Сумма элементов "<<summa(a,n,m)<<endl;

    for (int i=0;i<n;i++) 
        delete []a[i]; 
    delete []a;

    system("pause");
    return 0;
}
void vvod(int **a, int n, int m) 
{
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            cin >>a[i][j];
}
void vvod2(int **a, int n, int m) 
{
    srand(time(0));
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            a[i][j]=rand()%10+1;
}
void vivod(int **a, int n, int m) 
{
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
            cout <<a[i][j]<<" ";
        cout << endl;
    } 
}
int summa(int **a, int n, int m) 
{
    int s=0;
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            s=s+a[i][j]; 
    return s;
}

Просмотров: 325 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar