Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 29-10-2005, 13.24.07   #1
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
[C++] Gestire n numeri random in modo da non ripetersi

Avrei bisogno di mettere dentro un array di interi n valori presi randomicamente che non si devono ripetere, anche se l'algoritmo mi pare giusto il programma comunque crea sempre un doppione di un numero.

Dov'è l'errore?

Codice:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<iostream.h>

void main()
{
 int a[13];
 int conta;

 randomize();

  for (int i=0;i<10;i++)
  {
  
   do
     {
      a[i]=random(10);
      conta=0;

       for (int k=0;k<i;k++)
       {
        if (a[i]==a[k])
	 conta++;
       }
   
     }while (conta>1);
  
  }

  for (i=0;i<10;i++)
   cout<<a[i]<<endl;

}

Ultima modifica di Downloader : 29-10-2005 alle ore 13.29.14
Downloader non è collegato   Rispondi citando
Vecchio 30-10-2005, 09.30.43   #2
Thor
Il re di bastoni
Top Poster
 
L'avatar di Thor
 
Registrato: 26-04-2001
Loc.: Milàn
Messaggi: 23.413
Thor promette bene
curiosità: randomize dove è dichiarata?
main non ritorna int?
___________________________________

Un giorno in cui voleva fare il cattivo, Mister Coniglietto sbirciò oltre la siepe e vide che l'orto del Contadino Fred era pieno di lattuga fresca e verde; Mister Coniglietto, invece, non era pieno di lattuga per niente. E ciò gli parve un'ingiustizia.
Sono un Vampiro! I am a Vampire!
Thor non è collegato   Rispondi citando
Vecchio 30-10-2005, 09.43.15   #3
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
Randomize è dichiarata prima del ciclo for principale.
No, main ha un tipo di ritorno void.

Questo codicillo poi andrà a finire in una funzioncina che genererà randomicamente i gruppi di lavoro della mia classe dopo aver creato un piccolo db lavorando sui file binari.

Ultima modifica di Downloader : 30-10-2005 alle ore 09.55.07
Downloader non è collegato   Rispondi citando
Vecchio 30-10-2005, 20.03.08   #4
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Conta non deve essere maggiore di 1, altrimenti genera doppioni ogni volta che i>0
LoryOne non è collegato   Rispondi citando
Vecchio 30-10-2005, 20.04.43   #5
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Quota:
Originariamente inviato da Thor
curiosità: randomize dove è dichiarata?
Se hai DEV-C++ randomize non la troverai mai.
Devi utilizzare srand
LoryOne non è collegato   Rispondi citando
Vecchio 30-10-2005, 20.06.19   #6
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Quota:
Originariamente inviato da Thor
main non ritorna int?
Se hai DEV-C++ void main() non lo accetta.
Devi utilizzare main(void)
LoryOne non è collegato   Rispondi citando
Vecchio 30-10-2005, 20.10.37   #7
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
Quota:
Originariamente inviato da LoryOne


Se hai DEV-C++ randomize non la troverai mai.
Devi utilizzare srand
No, uso Borland c++

Non ho capito la cosa dell' 1
Downloader non è collegato   Rispondi citando
Vecchio 30-10-2005, 22.39.21   #8
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Concettualmente è giusto ma commetti un errore dovuto al fatto che la variabile conta può al massimo avere valore 1 e non >1 perchè un numero sia già presente nell' array.

Devi sostituire while(conta>1) con while(conta==1)
LoryOne non è collegato   Rispondi citando
Vecchio 07-11-2005, 23.13.38   #9
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
Quota:
Originariamente inviato da LoryOne
Concettualmente è giusto ma commetti un errore dovuto al fatto che la variabile conta può al massimo avere valore 1 e non >1 perchè un numero sia già presente nell' array.

Devi sostituire while(conta>1) con while(conta==1)
Dimenticato di rispondere, funziona tutto alla grande.

Grazie a tutti! (Y)
Downloader non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
[JAVA] Avviare un jar in modo immediato... Fast-M Programmazione 10 23-05-2008 17.01.34
Il lotto e i maghi mao Chiacchiere in libertà 48 04-12-2004 14.17.01
Numeri cumulati Downloader Programmazione 16 19-05-2004 00.17.56
i numeri delle licenze... PropertyOfBarra Windows 9x/Me/NT4/2000 6 24-03-2004 10.33.31
Gestire La Posta erpinna Internet e Reti locali 1 24-09-2003 11.34.00

Orario GMT +2. Ora sono le: 02.37.35.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.