Определить, сколько элементов фиксированного массива занято и сколько свободно - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д