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
Z góry dzięki za pomoc