Błąd z wyswietlaniem danych

Błąd z wyswietlaniem danych
CR
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 4 lata
  • Postów:64
0

Siemka, głupi błąd, coś przeoczyłem pewnie ale mam zadanie zeby uzytkownik mogl wpisac jakies wyrazy ciagu, nastepnie mam zliczyc wszystkie dodatnie i ujemne wyrazy i wyswietlic ich wynik.
wszystko dziala, tylko jak wyswietla dane, to dla minusowych dane sa okej, a dla dodatnich wyswietlaja sie smieci

Kopiuj
#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    int rozmiar;
    int licznikplus,licznikminus;
    cout << "Podaj rozmiar  ciagu: "; // stworzenie tablicy zapisujacej ciag
    cin >> rozmiar;
    int* tablica= new int[rozmiar];
   
   
    for( int i = 0; i < rozmiar; i++ ) // wpisanie zmiennej do tablicy dynamicznej
    {
        cin >> tablica[i];
    }
    cout << '\n';
   
    
    for( int i = 0; i < rozmiar; i++) // liczenie ile dodatnich/ujemnych
    {
        if(tablica[i]>0)
        licznikplus=licznikplus+1;
        else if(tablica[i]<0)
        licznikminus=licznikminus+1;
    }
    cout << "Liczb minusowych: " << licznikminus << endl;
    cout << "Liczb dodatnich: " << licznikplus << endl;
   
    
    cout << '\n';
    delete [] tablica;
    return 0;
}
enedil
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 5 godzin
  • Postów:1027
4

Zapominasz ustawić początkowe wartości na zero:

Kopiuj
int licznikplus = 0, licznikminus = 0;

Domyślnie, będą tam jakieś liczby, które przypadkiem się znalazły w pamięci (chyba, że zostaniesz ofiarą optymalizacji kompilatora, gdyż taki kod jaki napisałeś jest błędny, nie wolno odnosić się do wartości zmiennej, która nie miała takiej wartości nadanej. Kompilator wtedy może założyć, że z pewnością czegoś takiego byś nie zrobił, i zrobi jakąś mało zrozumiałą optymalizację, która doprowadzi do jeszcze mniej zrozumiałego błędu w trakcie wykonania).

edytowany 1x, ostatnio: enedil
CR
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 4 lata
  • Postów:64
0

Dziekuje slicznie, masz racje
do zamkniecia

MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:14 minut
0

Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.