2010-05-13, 11:21:31
Zwracam sie do Was z bardzo prostym i dziwnym problemem. Mimo, ze jest on b. prosty, od rana nie moge sobie z nim poradzic.
Napisalem sobie 2 rozne metody na odejmowanie 2 liczb, ktore dla ulatwienia sa rownej dlugosci. Pierwsza liczba jest w jakiejs tablicy o dl n, druga liczba takze. Mam tylko problem - jeden kod oblicza mi wszystko dobrze, drugi juz niestety nie. Gdzie jest blad ? Przeciez one musza tak samo liczyć ! ??
Ten kod dziala:
A ten juz nie - normalnie juz nie wiem co jest zle
Przeciez robia to samo - jeden pisalem wczoraj, drugi dzisiaj, z rozpedu bo zapomnialem ze juz go napisalem Mimo wszystko nie daje mi to jednak spokoju - gdzie tu szukac bledu ?
Napisalem sobie 2 rozne metody na odejmowanie 2 liczb, ktore dla ulatwienia sa rownej dlugosci. Pierwsza liczba jest w jakiejs tablicy o dl n, druga liczba takze. Mam tylko problem - jeden kod oblicza mi wszystko dobrze, drugi juz niestety nie. Gdzie jest blad ? Przeciez one musza tak samo liczyć ! ??
Ten kod dziala:
Kod:
void odejmijLiczby(int *liczba1, int *liczba2, int dlLiczby){
int pozycz = 0;
int i= 0;
while(i < dlLiczby){
pozycz = liczba1[i]- liczba2[i];
if(pozycz<0){
liczba1[i]=pozycz+256;
liczba1[i+1]--;
}else{
liczba1[i]=pozycz;
}
i++;
}
}
A ten juz nie - normalnie juz nie wiem co jest zle
Kod:
void odejmijLiczby(int *liczba1, int *liczba2, int dlLiczby){
int i = 0;
int pozycz = 0;
while(i < dlLiczby)
{
liczba1[i] = liczba1[i] - liczba2[i] + pozycz;
if(liczba1[i] < 0)
{
liczba1[i] = liczba1[i] + 256;
pozycz = -1;
}else
pozycz = 0;
i++;
}//while
}
Przeciez robia to samo - jeden pisalem wczoraj, drugi dzisiaj, z rozpedu bo zapomnialem ze juz go napisalem Mimo wszystko nie daje mi to jednak spokoju - gdzie tu szukac bledu ?