Ответы пользователя по тегу C
  • Почему при чтении файла он не пишет значения после обработки?

    @diskonnect
    Попробуйте следующее выражение в scanf:
    scanf("%79[^,],%79[^\n]\n", city, index)

    первый [^,] значит читать, пока не встретится запятая, вторая запятая - пропуск символа запятой. Аналогичная ситуация с \n.
    Ответ написан
    Комментировать
  • Почему не работает программа (работа со строками в Си)?

    @diskonnect
    У вас небольшая ошибка в сравнении символов с цифрами:

    if(string[j] == (char)i) numbers[i]++; //Определяем частоту, с которой встречается каждая цифра

    Цифры, которые вы вводите с консоли, записываются в память не как десятичные цифры, а как ASCII символы, т.е. если вы ввели с клавиатуры символ '0' и вы считываете его с помощью getchar(), то он у вас сохранится как ASCII значение символа '0' (в десятичной системе представляет собой число 48). Чтобы программа работала, как вы и задумали, нужно из введеного символа вычитать 'смещение' нуля в таблице ASCII:

    if((string[j] - '0') == i) numbers[i]++; //Определяем частоту, с которой встречается каждая цифра
    Ответ написан
    5 комментариев