![]() |
|
Модераторы: bsa |
![]()
|
|
| KasMP |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
esc и res - указатели на символ Добавлено @ 17:41
Да что-то такое Ты складываешь поразрядно (столбиком, проще говоря; перед сложением второго разряда тебе передают mental=1): 4569 111 4680 Если тебе не передавать mental, то ты сложишь так: 4569 111 4670
(женская логика?) Ну ты складываешь, скажем, 11111111111 и 1: Конечно, можно складывать и так: 11111111111 00000000001 11111111112 Но имхо лучше сложить 1+1, потом увидеть, что во втором числе остальных разрядов нет и приложить остальные разряды первого!! Это сообщение отредактировал(а) KasMP - 21.12.2008, 17:47 |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| KasMP |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
Ну число, какая разница Добавлено через 1 минуту и 24 секунды
Ну, сначала нет... Но потом mental мне потребуется и я буду его сама себе передавать при сложении каждого разряда. |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Ты должна сделать функцию не сложения разрядов, а сложения чисел - а как она будет считаж столбиком или по другому - это нас не касается. Добавлено @ 17:49
Представь я вызов (клиент), ты функция (сервер) : я тебе даю два числа.. У тебя есть листик, карандаш (а может калькулятор я ведь не вижу) ты считаешь и отдаешь мне результат.. ничего больше никому передоваться не должно ! Это сообщение отредактировал(а) mes - 21.12.2008, 17:50 |
|||
|
||||
| KasMP |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
Так это и делает функция Addition: ей дали два числа (указатели на начала списков), она дала указатель на res (на результат). |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
давать надо не указатель на список! и не его элемент! а "значение" элемента списка! то есть вызов должен быть Add (stack->value, stack->value, res ); |
|||
|
||||
| KasMP |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
А элемент списка и его значение - не одно и то же?? Ты, возможно, рассердишься, но ... куда девать то, что получится в уме |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
вот декларация функции : void lvAdd (const char * a1, const char * a2, char * res); реализовывай Добавлено через 4 минуты и 36 секунд для операций над числами забудь вобще что у тебя где то список , стек и вобще все остальное. У нас есть число, оно представлено как си-строка , больше ничего нам не нужно. |
|||
|
||||
| KasMP |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
Я так же буду размещать цифры это супер-длинного числа в списке, потом складывать столбиком. Вообще говоря, довольно интересен ответ на вопрос о том,почему не работает уже написанная программа? Что такого необычного в
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
я в принципе хотел, чтоб Вы сами ее нашли, к чему бы Вы пришли, если послушались совета. но раз уж так сильно хотите оставаться при своем коде - пожалуйста.. Вылетаeт из за (3), но (2) тоже могла бы явиться причиной, ну а из за (1) у вас результат сложения неправильный.. P.S. в этом посте обращение на "Вы" намерянное Это сообщение отредактировал(а) mes - 21.12.2008, 20:41 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| KasMP |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
При следующем проходе цикла while Мы перешли не к след.числу, а к след.разряду Элемент списка - не число, а разряд Разумеется Ну, по-моему, логично как можно раньше избавиться от ненужного
Ой!!! Я забыла вызвать CreationStack
К сожалению, хочу, потому что время поджимает. Но в зимние каникулы с радостью сделаю все идеально Становится все интереснее Я согласна с этим, но ... не сейчас Добавлено через 2 минуты и 47 секунд Вот, я добавила в соответствующее место в main два CreationStack. Вылетает та же ошибка Попробовала сначала все-таки инициализировать h1 и h2, потом вызывать создание "стека". То же самое "Стеки" заполняются правильно, а потом после входа в Addition на этой магической строчке все вылетает... Странно. |
||||
|
|||||
| mes |
|
||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Так сделать понормальному уйдет час, а Вы день потратили на переборку кода )
догадайся ) То есть число представлено стеком, так еше на основе списка ?? a кто то говорил, что она экономная а массив чисел загружаемых с файла чем является ? боюсь что не только.
Не вижу не верю |
||||||
|
|||||||
| KasMP |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
Было уже поздно что-то менять. Теряюсь в догадках Ну да... ?? Прочитали в строку число. Каждый символ строки - элемент списка. Зачем каждый мизерный кусочек кода сюда вставлять? Я дополнила CreationStack строчкой вывода:
В итоге у меня цифры 1) выводились; 2) в правильном порядке.
Добавлено через 11 минут и 25 секунд не знаю, она работает так: получает инициализированный указатель на структуру и символ, внутри себя создает текущий указатель, для начала приравнивает его к указателю на голову списка, потом первому "c" присваивает последний символ строки, инициализирует следующий за текущим указатель, сдвигает текущий указатель и т.д. по кругу, последний текущий указаетль приравнивает у нулю |
||||||
|
|||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
и все таки стек надо реализовывать для чисел, а не для цифр. вот длинная арифметика :
осталось загрузить числа в стек, сложить их и отправить результат в файл. Это сообщение отредактировал(а) mes - 22.12.2008, 17:40 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |