Загрузка данных


#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;

void vivod_odnomernogo_masiva(int *masiv, int razmer);
void Zapolnenie_odnomernogo_masiva(int *masiv, int razmer);

int main()
{
    int N_Razmer;

    cout << "Введите размер массива: "; cin >> N_Razmer;

    // создаём массив нужного размера
    int *masiv = new int[N_Razmer];

    Zapolnenie_odnomernogo_masiva(masiv, N_Razmer);
    vivod_odnomernogo_masiva(masiv, N_Razmer);

    // освобождаем память
    delete[] masiv;
}

// красивый вывод одномерного массива, всё считается внутри
void vivod_odnomernogo_masiva(int *masiv, int razmer)
{
    int element, i;
    int shirina = 1;
    int chislo, kol;

    // ищем самое длинное число (минус тоже считается за символ)
    for (element = 0; element < razmer; element++)
    {
        chislo = masiv[element];
        kol = 0;

        if (chislo <= 0)
        {
            kol = 1;
        }

        while (chislo != 0)
        {
            chislo = chislo / 10;
            kol++;
        }

        if (kol > shirina)
        {
            shirina = kol;
        }
    }

    // верхняя линия
    for (element = 0; element < razmer; element++)
    {
        cout << "+";
        for (i = 0; i < shirina + 2; i++)
        {
            cout << "-";
        }
    }
    cout << "+" << endl;

    // строка с числами
    cout << "|";
    for (element = 0; element < razmer; element++)
    {
        cout << " " << setw(shirina) << masiv[element] << " |";
    }
    cout << endl;

    // нижняя линия
    for (element = 0; element < razmer; element++)
    {
        cout << "+";
        for (i = 0; i < shirina + 2; i++)
        {
            cout << "-";
        }
    }
    cout << "+" << endl;
}

// Заполнение одномерного масива рандомам
void Zapolnenie_odnomernogo_masiva(int *masiv, int razmer)
{
    srand(time(NULL));

    int a, b;
    cout << "Введите начало рандома: "; cin >> a;
    cout << "Введите конец рандома: "; cin >> b;

    for (int element = 0; element < razmer; element++)
    {
        masiv[element] = a + rand() % (b - a + 1);
    }
}