Гсть
|
||||||
1 | ||||||
Написать стек на основе одномерного массива15.06.2008, 10:42. Показов 1996. Ответов 3
Метки нет (Все метки)
Пробую написать стек на основе одномерного массива. Скажите что не так делаю.
|
15.06.2008, 10:42 | |
Ответы с готовыми решениями:
3
Стек на основе массива Стек на основе массива Стек на основе массива Стек на основе статического массива |
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
15.06.2008, 11:13 | 2 |
В глаза сразу бросается то, что n мы вводим в главной функции, а эту переменную используем вообще в левом месте, где она еще даже не инициализирована.
К тому же, обрати внимание: К примеру у нас добавилось 3 элемента с индексами, соответственно 0, 1 и 2. В этом коде: Код
stac[sp]=znah; sp++; Исправляй.
0
|
Гсть
|
|
15.06.2008, 11:54 | 3 |
"а бревно-то я и не заметил" спс большое, вроде работает. Что касается n. То я ее объявляю как глобальную переменную в начале. Поэтому потом использую уже в основной фунцкии. Просто чтобы в функцию push() передавать только константу которую нужно поместить, массив и указатель на верхний его элемент должны быть доступны(я умею это жделать только через глобальные). Если их объяылять в основной функции, тогда сама функция push должна будет вот-так выглядеть:
Код
void push(int znah,int *stac1, int sp1) |
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
15.06.2008, 23:48 | 4 |
Да я не про глобальные переменную говорю. А про то, где память выделяется. В твоем коде память выделяется еще до того, как пользователь ввел n. И то n, которое введет пользователь ни на что не влияет. Абсолютно. Вот у тебя код:
Код
scanf("%i", &n); Код
int *stac=(int*)malloc(n*sizeof(int));
0
|
15.06.2008, 23:48 | |
15.06.2008, 23:48 | |
Помогаю со студенческими работами здесь
4
Стек на основе динамического массива Стек на основе вектора, линейного массива Помогите реализовать стек на основе массива Стек целых строк на основе статического массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |