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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2013, 13:43   #1
ЛейсанСаб
Новичок
Джуниор
 
Регистрация: 11.04.2013
Сообщений: 2
Вопрос Сложить два числа, заданных списками С++

Здравствуйте, нужна ваша помощь. Помогите пожалуйста.
Кто чем может


1.1. Сложить два числа, заданных списками их q-ичного представления (с удалением нулевых коэффициентов).

Положительное целое число на входе (в текстовом файле) представлено как обычно принято в языке c++; в программе должно быть представлено линейным списком пар (степень q, коэффициент при этой степени) q-ичного представления этого числа, причем в список включаются только ненулевые коэффициенты, и они располагаются в списке в порядке возрастания соответствующих степеней.

В каждом задании этой группы дополнительно предполагается написание 2-х процедур: ввода числа с формированием соответствующего списка и вывода числа по его представлению списком.

В заданиях этой группы операция имеется в виду типа x:= x O y, т.е. результат должен изменить значение первого аргумента.



я поняла что надо сложить два числа, допустим двоичного представления или любого другого,так крохи?
ну помогитеее??

Последний раз редактировалось ЛейсанСаб; 11.04.2013 в 14:29.
ЛейсанСаб вне форума Ответить с цитированием
Старый 11.04.2013, 15:05   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Сложение в столбик.
Пример (q=10, x=5073, y=96230):
Код:
x = ((0,3), (1,7), (3,5))
y = ((1,3), (2,2), (3,6), (4,9))

Складываем, образуя новый список и учитывая переносы:
(0,(3+0+0)%10), (3+0+0)/10 {коэффициент при степени только в одной степени, переноса нет}
(1,(7+3+0)%10), (7+3+0)/10 {сумма ноль - пропускаем, перенос 1}
(2,(0+2+1)%10), (0+2+1)/10 
(3,(5+6+0)%10), (5+6+0)/10
(4,(0+9+1)%10), (0+9+1)/10 {сумма ноль - пропускаем}
(5,1) {перенос не ноль - добавили ещё разряд}
z = ((0,3), (2,3), (3,1), (5,1)) {z=101303}

Окончательно, меняем местами списки z и x и удаляем список z.
Abstraction вне форума Ответить с цитированием
Старый 11.04.2013, 21:01   #3
ЛейсанСаб
Новичок
Джуниор
 
Регистрация: 11.04.2013
Сообщений: 2
По умолчанию

посмотрите пожалуйста код

сложила в q форме, а потом просто сделала новый список из него. ну как бы результат тот же,но способ кривой немного,дэ?)


1) первая функция считывает число десятеричное из файла и составляет составной список
2) вторая функция выводит в файл список
3) третья складывает два списка

s.txt


или это вообще не то??

Последний раз редактировалось ЛейсанСаб; 11.04.2013 в 21:06.
ЛейсанСаб вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложить два 48 разрядных числа @Серж@ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 16.12.2011 20:17
brainfuck сложить два однозн. числа Sna1L Помощь студентам 1 09.06.2011 14:36
MMX сложить два числа gansm Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 29.10.2010 05:16
Макрос: сложить два числа белочка Microsoft Office Excel 6 23.12.2009 22:02
Сложить два числа iwaniwan Win Api 3 23.04.2009 06:27