Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / struct, union sau class pentru numere > long : Decembrie 29, 2010, 18:51:47
ma ajuta cineva cu struct-uri pentru numere > long
am incercat o implementare in permutari 3 dar dupa ce am facut cateva inmultiri numerele din struct deveneau negative.

am initializat struct-ul, am facut un carry si am folosit % pentru a pune numai 4 zecimale intr-un int.
mentioneza ca inmultirile si adunarile le-am efectuat pe un long. Inmultirile maxime posibile erau 9999*1000.

Codul sursa:
Cod:
struct toolong{
int tx[1000];
};

Cod:
toolong facto(int x){
toolong y;
int i;
if(x == 0){
y.tx[0] = 1;
for(i = 1; i<1000; i++){
y.tx[i] = 0;
}
}
else {
long carry, rx;
y = facto(x-1);
for(i=0; i<1000; i++){
rx = y.tx[i]*x + carry;
y.tx[i] = rx%10000;
carry = rx/10000;
}
}
return y;

}
si in functia principala tot cu carry si rx (si tot long).
La iesire obtin ceva gen 0310014344123-858993460-858993460-858993460-858993460-858993460-858993460...
-858993460 ma duce cu gandul ca nu este initializat
 Brick wall
2  Comunitate - feedback, proiecte si distractie / Feedback infoarena / Răspuns: Feature request : Martie 05, 2010, 15:45:21
Scuze daca repet dar de ce nu apare borland c la limbaje?  Read This! Nu mi se pare normal ca un compilator foarte raspandit in scoli (borland c) sa nu apara pe lista  Thumb down
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines