Skocz do zawartości




Zdjęcie

Błąd logiczny w C++


  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 directol

directol

    Newbie

  • Members
  • Pip
  • 3 postów

Napisano 08 wrzesień 2013 - 13:49

Witajcie. Mam napisany program, który działa lecz jest błąd logiczny. Jest jakaś możliwość żeby się pozbyć tego błędu

#include <iostream>
using namespace std;
const int n=10;
 
/*tutaj zaczyna się zadanie*/
int zadanie5(int m, int n, int c , int d, int tab[], int tabb[])
{
for(int i=0;i<n;i++){
if (tab[i]>c && tab[i]<d){
m=m+1;
tabb[i]=tab[i];
}
else
{
tabb[i]=0;
}
};
/*TEST*/
cout << "\n";
for(int i=0; i<10;i++) {
cout << tabb[i] <<"\n";
};
/*END TEST*/
return tabb[m];
};
/*tutaj kończy się zadanie*/
int main()
{
int m=0;
int c;
int d;
int tab[n];
int tabb[n];
cout << "Podaj c ";
cin >> c ;
cout << "Podaj d ";
cin >> d ;
for(int i=0; i<10;i++) {
tab[i]=i;
};
for(int i=0; i<10;i++) {
cout << tab[i] <<"\n";
};
zadanie5(m,n,c,d,tab,tabb);
cout << "\n";
for(int i=0; i<10;i++) {
cout << tabb[i] <<"\n";
};
return 0;
}

Z tego co wiem to błąd logiczny jest tutaj :

tabb[i]=tab[i];

Ma ktoś jakiś pomysł żeby się go pozbyć ?

Oczywiście program się kompiluje ale dla dodatnich zmiennych :(

http://ideone.com/AF48FU

Z góry dzięki za pomoc



#2 13ty Smok

13ty Smok

    1

  • Members
  • PipPipPip
  • 2317 postów

Napisano 09 wrzesień 2013 - 22:31

Dobra rada: - wywal ten kod i napisz od początku po ludzku,






Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych


Pozycjonowanie strony: Virtual Development