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



#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>

int main()
{
    setlocale(LC_ALL, "Russian");

    int choice;
    double a[12][12];
    int i, j;

    printf("===== МЕНЮ =====\n");
    printf("1. Вывод тестовых значений\n");
    printf("2. Случайная генерация матрицы\n");
    printf("3. Ручной ввод матрицы\n");
    printf("4. Выход\n");
    printf("Выберите пункт: ");

    scanf_s("%d", &choice);

    switch (choice)
    {
        case 1:
            printf("\n===== ТЕСТОВЫЕ ЗНАЧЕНИЯ =====\n");
            printf("Исходная матрица:\n");

            /* Только вывод заранее заданной матрицы */
            printf(
                "  1   2   3   4   5   6   7   8   9  10  11  12\n"
                "  2   3   4   5   6   7   8   9  10  11  12  13\n"
                "  3   4   5   6   7   8   9  10  11  12  13  14\n"
                "  4   5   6   7   8   9  10  11  12  13  14  15\n"
                "  5   6   7   8   9  10  11  12  13  14  15  16\n"
                "  6   7   8   9  10  11  12  13  14  15  16  17\n"
                "  7   8   9  10  11  12  13  14  15  16  17  18\n"
                "  8   9  10  11  12  13  14  15  16  17  18  19\n"
                "  9  10  11  12  13  14  15  16  17  18  19  20\n"
                " 10  11  12  13  14  15  16  17  18  19  20  21\n"
                " 11  12  13  14  15  16  17  18  19  20  21  22\n"
                " 12  13  14  15  16  17  18  19  20  21  22  23\n"
            );

            printf("\nМатрица после замены:\n");

            printf(
                "  0   0   0   0   0   0   0   0   0   0   0   0\n"
                "  2   0   0   0   0   0   0   0   0   0   0   0\n"
                "  3   4   0   0   0   0   0   0   0   0   0   0\n"
                "  4   5   6   0   0   0   0   0   0   0   0   0\n"
                "  5   6   7   8   0   0   0   0   0   0   0   0\n"
                "  6   7   8   9  10   0   0   0   0   0   0   0\n"
                "  7   8   9  10  11  12   0   0   0   0   0   0\n"
                "  8   9  10  11  12  13  14   0   0   0   0   0\n"
                "  9  10  11  12  13  14  15   0   0   0   0   0\n"
                " 10  11  12  13  14  15  16  17   0   0   0   0\n"
                " 11  12  13  14  15  16  17  18  19   0   0   0\n"
                " 12  13  14  15  16  17  18  19  20   0   0   0\n"
            );

            break;

        case 2:
            srand((unsigned int)time(NULL));

            printf("\nСгенерированная матрица:\n");

            for (i = 0; i < 12; i++)
            {
                for (j = 0; j < 12; j++)
                {
                    a[i][j] = (rand() % 201 - 100) / 10.0;
                    printf("%8.2f ", a[i][j]);
                }
                printf("\n");
            }

            for (i = 0; i < 12; i++)
            {
                for (j = 0; j < 12; j++)
                {
                    if (j >= i)
                    {
                        a[i][j] = 0;
                    }
                }
            }

            printf("\nМатрица после замены:\n");

            for (i = 0; i < 12; i++)
            {
                for (j = 0; j < 12; j++)
                {
                    printf("%8.2f ", a[i][j]);
                }
                printf("\n");
            }

            break;

        case 3:
            printf("\nВведите элементы матрицы 12x12:\n");

            for (i = 0; i < 12; i++)
            {
                for (j = 0; j < 12; j++)
                {
                    printf("a[%d][%d] = ", i, j);
                    scanf_s("%lf", &a[i][j]);
                }
            }

            for (i = 0; i < 12; i++)
            {
                for (j = 0; j < 12; j++)
                {
                    if (j >= i)
                    {
                        a[i][j] = 0;
                    }
                }
            }

            printf("\nМатрица после замены:\n");

            for (i = 0; i < 12; i++)
            {
                for (j = 0; j < 12; j++)
                {
                    printf("%8.2f ", a[i][j]);
                }
                printf("\n");
            }

            break;

        case 4:
            printf("\nВыход из программы.\n");
            break;

        default:
            printf("\nНеверный пункт меню.\n");
    }

    return 0;
}