Определить, сколько элементов фиксированного массива занято и сколько свободно - C (СИ)
Формулировка задачи:
Пользователь вводит символы с клавиатуры в фиксированный массив до тех пор, пока не встретится символ ‘z’. Определить, сколько элементов массива теперь занято и сколько свободно. Для работы с массивом и подсчета количества использовать указатели (не использовать переменную для накопления)
Решение задачи: «Определить, сколько элементов фиксированного массива занято и сколько свободно»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #define MAX 10
- int main()
- {
- setlocale(LC_ALL,".1251");
- char array[MAX];
- char* current = array;
- for(;current != array+MAX;++current)
- {
- printf("Введите символ:");
- scanf("%c",current);
- if(*current == 'z')
- break;
- fflush(stdin);
- }
- printf("Заполнено:%d\n",current-array);
- printf("Свободно:%d\n",array+MAX-current);
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и вводом-выводом
- Установка локали на русскую, для корректного отображения символов
- Объявление фиксированного массива MAX размером 10 элементов
- Создание указателя current, который будет указывать на текущий элемент массива
- Запуск цикла, который будет заполнять массив до тех пор, пока пользователь не введет символ 'z'
- В каждой итерации цикла пользователю предлагается ввести символ, который затем сохраняется в текущем элементе массива
- Если введенный символ равен 'z', то цикл прерывается
- После окончания цикла выводится количество заполненных элементов массива (current-array)
- Выводится количество свободных элементов массива (array+MAX-current), при этом необходимо учесть, что текущий элемент уже занят
- Программа завершается, возвращая 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д