c++ comparison between signed and unsigned integer expressions
: 28 czerwca 2010, 18:34
				
				Mam taki programik:
Niby program się kompiluje lecz dostaje przy pętlach ,,for'' takie coś:
			Kod: Zaznacz cały
#include <iostream>
#include <cstring>
#include <stdlib.h>
#include <cstdio> 
#include <ctime> 
#include <cmath>
using namespace std;
//Lotto
const unsigned ILOSC_LICZB = 6 ;
const int MAKSYMALNA_LICZBA = 49;
int main()
{
//deklaracja i wyzerowanie tablicy liczb
unsigned aLiczby[ILOSC_LICZB];
for (int i = 0; i < ILOSC_LICZB; ++i)
aLiczby[i] = 0;
//losowanie liczb
srand (static_cast<int>(time(NULL)));
for (int i = 0; i < ILOSC_LICZB ;)
{
    //wylosowaniee liczby
    aLiczby[i] = rand() % MAKSYMALNA_LICZBA + 1;
    
    
    // sprawdzenie czy sie ona nie powtarza
    bool bPowtarzaSie = false;
    for (int j = 0; j< i; ++j)
    {
        if (aLiczby[j] == aLiczby[i])
        {
            bPowtarzaSie = true;
            break;
        }
    }
    //jeżeli sie nie powtarza przechodzimy do nastepnej liczby
    if (!bPowtarzaSie) ++i;
}
// wyświetlanie wylosowanych liczb
cout << "wyniki losowania : " << endl;
for (int i=0; i < ILOSC_LICZB;i++)
cout << aLiczby[i] << " ";
// koniec
return 0;
}
Niby program się kompiluje lecz dostaje przy pętlach ,,for'' takie coś:
Kod: Zaznacz cały
lotto.cpp:21: warning: comparison between signed and unsigned integer expressions