Potrzebujesz pomocy z C, C++, perl, python, itp.
			
		
		
			
				
																			
								boobs 							 
						Beginner 			
		Posty:  101  		Rejestracja:  24 sierpnia 2009, 18:14 		
		
						
						
		 
		
						
					
													
							
						
									
						Post 
					 
								autor: boobs   »  28 czerwca 2010, 18:34 
			
			
			
			
			
			Mam taki programik:
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;
}
 
N iby 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 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								AdeBe 							 
						Junior Member 			
		Posty:  825  		Rejestracja:  01 grudnia 2007, 14:41 		
		
						
						
		 
		
						
					
						 
		 
													
							
						
									
						Post 
					 
								autor: AdeBe   »  28 czerwca 2010, 22:00 
			
			
			
			
			
			No przecież to widać jak na dłoni: ILOSC_LICZB zadeklarowałeś jako unsigned int , ale jako licznika w pętlach używasz już zwykłego int . 
 
Przy okazji jeszcze kilka uwag: 
1. Odradzam stosowanie zmiennych globalnych. Do niczego nie są ci w tym programie potrzebne, a nauczysz się złych nawyków. 
2. Bardzo dobrze, że stałe zadeklarowałeś jako const (a nie przez #define), jednak z reguły nazwy pisane wielkimi literami rezerwuje się właśnie dla dyrektyw preprocesora.
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								boobs 							 
						Beginner 			
		Posty:  101  		Rejestracja:  24 sierpnia 2009, 18:14 		
		
						
						
		 
		
						
					
													
							
						
									
						Post 
					 
								autor: boobs   »  06 lipca 2010, 16:00 
			
			
			
			
			
			Witam
. 
M ój problem polega na tym iż programik losuje mi tylko raz losową liczbę, a powinien za każdym razem inną.
Kod: Zaznacz cały 
#include <iostream>
#include <cstring>
#include <stdlib.h>
#include <cstdio> 
#include <ctime> 
#include <cmath> 
using namespace std;
int oewe()
{
    cout << "Wrum1 " << endl;
return 0;
}
int liczb()
{
    unsigned losowa;
    srand (static_cast<int>(time(NULL)));
    
    losowa = rand() % 100 + 2;
cout << losowa << endl;
return 0; 
}
int i = 0;
int main()
{
for (int xxx;xxx < 5;++xxx)
{
oewe();
liczb();
}
return 0;
}
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								db 							 
						Beginner 			
		Posty:  185  		Rejestracja:  25 czerwca 2006, 15:23 		
		
						
						
		 
		
						
					
						 
		 
													
							
						
									
						Post 
					 
								autor: db   »  06 lipca 2010, 16:05 
			
			
			
			
			
			
Ustawiasz parę razy `seed' na tą samą wartość. Zobacz co zwraca time().
Kod: Zaznacz cały 
 srand ((int) time(NULL));
 int n1 = rand() % 46 + 1;
 int n2 = rand() % 46 + 1;
 int n3 = rand() % 46 + 1;
 printf("%d %d %d\n", n1,n2,n3);
 srand ((int) time(NULL));
 n1 = rand() % 46 + 1;
 srand ((int) time(NULL));
 n2 = rand() % 46 + 1;
 srand ((int) time(NULL));
 n3 = rand() % 46 + 1;
 printf("%d %d %d\n", n1, n2, n3);