#include <stdio.h>

int main() {
    // Создаем пустой массив, способный вмещать до 10 строк
    // Для корректной работы данной программы важно,
    // чтобы массив был заполнен нулями
    char *string_array[10] = {0};
    
    // Эта переменная нужна для вызова функции getline,
    // в ней сохраняется длина прочитанной строки.
    unsigned int len;
    
    // Читаем строки в массив
    for (int i = 0; i < 3; ++i) {
        getline(&string_array[i], &len, stdin);
    }

    puts("\nПрочитанные строки:");
    for (int i = 0; i < 3; ++i) {
        printf("%i. %s", i + 1, string_array[i]);
    }

    // Изменяем в каждой строке первый символ на 'X' и выводим результат
    puts("\nРезультат обработки:");
    for (int i = 0; i < 3; ++i) {
        string_array[i][0] = 'X';
        printf("%i. %s", i + 1, string_array[i]);
    }

    // Освобождаем память
    int idx = 0;
    while ((idx < 10) && string_array[idx]) {
        free(string_array[idx]);
        idx += 1;
    }
}
