Определить, сколько элементов фиксированного массива занято и сколько свободно - 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и вводом-выводом
  2. Установка локали на русскую, для корректного отображения символов
  3. Объявление фиксированного массива MAX размером 10 элементов
  4. Создание указателя current, который будет указывать на текущий элемент массива
  5. Запуск цикла, который будет заполнять массив до тех пор, пока пользователь не введет символ 'z'
  6. В каждой итерации цикла пользователю предлагается ввести символ, который затем сохраняется в текущем элементе массива
  7. Если введенный символ равен 'z', то цикл прерывается
  8. После окончания цикла выводится количество заполненных элементов массива (current-array)
  9. Выводится количество свободных элементов массива (array+MAX-current), при этом необходимо учесть, что текущий элемент уже занят
  10. Программа завершается, возвращая 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы