BG Development


Страници: (5) « първа ... 3 4 [5]   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Въпрос за свързан списък C++, едносвързан списък C++
saruman
Публикувано на: 10-01-2019, 09:31
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2538
Регистриран на: 21.07.10



QUOTE (Gamma Goblin @ 10-01-2019, 06:48)

В Индия, вие как си тествате кода ? Белите хора пишат тестове.

Тестове за събиране на две числа,евала машина си icon_lol.gif


--------------------
http://www.wefunkradio.com/radio/

Remember,remember the fifth of November
PMEmail Poster
Top
SuN
Публикувано на: 10-01-2019, 10:00
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 9187
Регистриран на: 27.01.05



QUOTE (m.dimitrov @ 09-01-2019, 18:30)
QUOTE (miron @ 09-01-2019, 18:11)
Събирането още не си го оправил ако получаваш такива резултати. Ама засега пробвай с еднаква дължина.

Самата логика на събирането е вярна. Примерно ако задам за събиране 34+12 резултата е 46, което е правилно. Затруднението ми е при пренасянето на 1 на ум и добавянето на 1 на ум ако последното събиране е по-голямо от 9.

А ако размениш реда на цифрите още ли ти е трудно?

34 +12 става 43 + 21 (4 единици + 3 десетици + 2 единици + 1 десетица).

Знаеш ли как да добавяш елемент в края на списъка?


--------------------
Само аз не троля.
PMEmail Poster
Top
Gamma Goblin
Публикувано на: 10-01-2019, 10:11
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2780
Регистриран на: 21.02.18



QUOTE (saruman @ 10-01-2019, 09:31)
QUOTE (Gamma Goblin @ 10-01-2019, 06:48)

В Индия, вие как си тествате кода ? Белите хора пишат тестове.

Тестове за събиране на две числа,евала машина си icon_lol.gif

Не на числа, а на 2 вектора от цифри. Има разлика. Тестовете ми бяха хванали бъг, който бях допуснал, така че не са излишни.


--------------------
https://www.rust-lang.org/
---
Хора, които са прекалено умни, за да се занимават с политика, са наказани да бъдат управлявани от глупаци.
---
Life is hard; it's harder when you're stupid.
---
Black metal is like coffee. You have to learn to drink it but when you get used to it, you just want it darker and darker
PMEmail PosterUsers Website
Top
m.dimitrov
Публикувано на: 10-01-2019, 17:28
Quote Post



Име: Мартин Димитров
Група: Потребител
Ранг: Новопостъпил

Мнения: 16
Регистриран на: 08.01.19



Успях да оправя алгоритъма да събира две еднакви по дължина числа, но остава проблема със събирането на две различни по дължина.Опитвам се да сравня двете числа и да добавя към по късото нули в началото. Например ако имам числата 5555 и 44, програмата да сравни двете числа и да добави две нули към 44 да стане 0044. Но каквото и да опитвам винаги става 4400.

Ето до къде съм стигнал:

CODE

void Add(int br1, int br2, Point &Head1, Point &Head2){
      Point P, Q;
      if(br1>br2){
            int dif=br1-br2;
            while(dif>0){
            Q = new chislo;
             Q->N = 0;
             Q->next = Head2;
             Head2 = Q;
             dif--;
            }
            if(br1<br2){
            int dif=br2-br1;
            while(dif>0){
            P = new chislo;
             P->N = 0;
             P->next = Head1;
             Head1 = P;
             dif--;
            }
            }
      }
}


Това мнение е било редактирано от m.dimitrov на 10-01-2019, 17:30
PMEmail Poster
Top
miron
Публикувано на: 10-01-2019, 18:46
Quote Post



Име: Мирослав Николов
Група: Потребител
Ранг: Старо куче

Мнения: 634
Регистриран на: 26.04.05



Идеята е че 123 се представя като Head->3->2->1->NULL
Като събираш две числа, ако едното е вече стигнало до NULL ползваш 0 за поредната му цифра.
PM
Top
m.dimitrov
Публикувано на: 10-01-2019, 20:39
Quote Post



Име: Мартин Димитров
Група: Потребител
Ранг: Новопостъпил

Мнения: 16
Регистриран на: 08.01.19



QUOTE (miron @ 10-01-2019, 18:46)
Идеята е че 123 се представя като Head->3->2->1->NULL
Като събираш две числа, ако едното е вече стигнало до NULL ползваш 0 за поредната му цифра.

Да това е и мисълта на фунцкията която съм написал, но за примера който съм дал по-горе 44 програмата връща Head->0->0->4->4->NULL, а аз искам да е Head->4->4->0->0->NULL. Но всичко което опитам връща същата стойност.

Това мнение е било редактирано от m.dimitrov на 10-01-2019, 20:40
PMEmail Poster
Top
miron
Публикувано на: 10-01-2019, 21:22
Quote Post



Име: Мирослав Николов
Група: Потребител
Ранг: Старо куче

Мнения: 634
Регистриран на: 26.04.05



Няма нужда да създаваш нови chislo, просто си оправи сумирането да отчита, че са с различна дължина.
PM
Top
SuN
Публикувано на: 10-01-2019, 22:22
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 9187
Регистриран на: 27.01.05



QUOTE (m.dimitrov @ 10-01-2019, 20:39)
QUOTE (miron @ 10-01-2019, 18:46)
Идеята е че 123 се представя като Head->3->2->1->NULL
Като събираш две числа, ако едното е вече стигнало до NULL ползваш 0 за поредната му цифра.

Да това е и мисълта на фунцкията която съм написал, но за примера който съм дал по-горе 44 програмата връща Head->0->0->4->4->NULL, а аз искам да е Head->4->4->0->0->NULL. Но всичко което опитам връща същата стойност.

Примера ти е лошо подбран. Не става ясно дали сменяш реда на единиците и десетиците в числата или не.

Това мнение е било редактирано от SuN на 10-01-2019, 22:24

Прикачена картинка
Прикачена картинка


--------------------
Само аз не троля.
PMEmail Poster
Top
PxL
Публикувано на: 11-01-2019, 19:25
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 2948
Регистриран на: 26.04.05



user posted image


--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
Gamma Goblin
Публикувано на: 11-01-2019, 19:28
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2780
Регистриран на: 21.02.18





--------------------
https://www.rust-lang.org/
---
Хора, които са прекалено умни, за да се занимават с политика, са наказани да бъдат управлявани от глупаци.
---
Life is hard; it's harder when you're stupid.
---
Black metal is like coffee. You have to learn to drink it but when you get used to it, you just want it darker and darker
PMEmail PosterUsers Website
Top
0 потребители преглеждат тази тема в момента (0 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (5) « първа ... 3 4 [5]  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0