Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2013, 17:02   #1
Joose
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 67
По умолчанию Проблема с циклом

Здравствуйте. Столкнулся с совершенно идиотской проблемой - не могу подсчитать количество элементов в массиве.

Код:
#include <stdio.h>
#include <stdlib.h>
#include "locale.h"
#include <conio.h>
#include <string.h>

char* input(void);
int search(char, char*);
char* sort(char*);

int main()
{
    int i;
    char *A = NULL;
    setlocale(LC_ALL, "Russian");
    printf("Программа используется для ввода множества с клавиатуры, подсчета кардинального\n");
    printf("числа введенного множества и поиска в нем заданного элемента\n");
    printf("Введите с клавиатуры числа через пробел\n");
    A = input();
    printf("Вывод множества на экран:\n");
        for(i = 0; A[i] != '\0'; i++)
        {
            printf("%c ", A[i]);
        }
    printf("Кардинальное число множества равно %d\n", i);
    return 0;
}

char* input()
{
    int i;
    char *A = NULL, sym;
    for(i = 0; sym != 'a'; i++)
    {
        scanf("%c", &sym);
        A = (char*)realloc(A, (i + 1) * sizeof(char));
        if(sym == 'a')
            break;
        A[i] = sym;
    }
    printf("Размер множества %d", i);
    A[i] = '\0';
    return A;
}
Проблема в функции input. Когда я заполняю массив 3 значениями, значение i после окончания цикла = 6. Причем если инициализировать массив А как массив цифр, а не символов, то все работает нормально. Помогите найти ошибку, пожалуйста.
Joose вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с циклом на СИ. hgfdd Помощь студентам 1 30.09.2012 15:54
C++ проблема с циклом Qile Помощь студентам 3 29.09.2012 03:03
проблема с циклом kiborgdelto Помощь студентам 1 16.10.2010 19:46
проблема с циклом Dima_D Общие вопросы Delphi 5 04.08.2010 16:41
Проблема с циклом.. POPOV Помощь студентам 3 29.04.2008 18:36