Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[C++] Pisemne odejmowanie 2 liczb, liczby w tablicy (równej długości) , błąd
#1
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ć ! ?? Huh

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 Tongue Mimo wszystko nie daje mi to jednak spokoju - gdzie tu szukac bledu ?
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości