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


#include <stdio.h>

int main() {
    int command;

    // Бесконечный цикл, чтобы программа работала, пока пользователь сам не решит выйти
    while (1) {
        printf("\n--- МЕНЮ ---\n");
        printf("1. Счетчик от 9 до 0 (цикл while)\n");
        printf("2. Таблица умножения Пифагора\n");
        printf("3. Сортировка чисел\n");
        printf("0. Выход\n");
        printf("Введите команду: ");

        // Считываем команду с консоли
        scanf("%d", &command);

        // Переключатель switch case
        switch (command) {
            case 1: {
                // Пункт 1: Вывод счетчика от девяти до нуля с помощью цикла while
                printf("\nСчетчик:\n");
                int i = 9;
                while (i >= 0) {
                    printf("%d\n", i);
                    i--;
                }
                break;
            }
            case 2: {
                // Пункт 2: Вывод таблицы умножения Пифагора
                printf("\nТаблица умножения Пифагора:\n");
                // Внешний цикл для строк
                for (int row = 1; row <= 9; row++) {
                    // Внутренний цикл для столбцов
                    for (int col = 1; col <= 9; col++) {
                        // %4d выделяет 4 знака под число для красивого выравнивания
                        printf("%4d", row * col);
                    }
                    printf("\n"); // Переход на новую строку после каждого ряда
                }
                break;
            }
            case 3: {
                // Пункт 3: Ввод данных, вывод в исходном порядке, сортировка и вывод отсортированных
                int n;
                printf("\nСколько чисел вы хотите ввести? ");
                scanf("%d", &n);

                int arr[n]; // Массив для хранения чисел

                printf("Введите %d чисел через пробел: ", n);
                for (int i = 0; i < n; i++) {
                    scanf("%d", &arr[i]);
                }

                // Вывод в исходной последовательности
                printf("Исходная последовательность: ");
                for (int i = 0; i < n; i++) {
                    printf("%d ", arr[i]);
                }
                printf("\n");

                // Сортировка пузырьком (по возрастанию)
                for (int i = 0; i < n - 1; i++) {
                    for (int j = 0; j < n - i - 1; j++) {
                        if (arr[j] > arr[j + 1]) {
                            int temp = arr[j];
                            arr[j] = arr[j + 1];
                            arr[j + 1] = temp;
                        }
                    }
                }

                // Вывод отсортированной последовательности
                printf("Отсортированная последовательность: ");
                for (int i = 0; i < n; i++) {
                    printf("%d ", arr[i]);
                }
                printf("\n");
                break;
            }
            case 0: {
                // Дополнительный пункт для выхода из программы (не обязателен, но удобен)
                printf("Выход из программы.\n");
                return 0;
            }
            default: {
                // Пункт 4: Режим «Значение по умолчанию»
                printf("\nНесуществующая команда. Пожалуйста, введите команды из списка (0, 1, 2 или 3).\n");
                break;
            }
        }
    }

    return 0;
}