Newsgroup: it.comp.lang.c++
Titolo: Suggerimento e aiuto programma scemo

Dovrei creare una funzione che dermina se un numero č primo per poi
utilizzarla per creare un programm a che stampi i numeri primi da 1 a 1000.
Avevo pensato di sfruttare un ciclo for e l'operatore modulo.Perň quando ci
provo vedo che mi serve un array. Ma devo realizzare il programma senza
utilizzare array.
Come posso creare la funzione?
Un'ultima cosa, ho provato a scrivere un programma che dati 10 numeri in
ingresso mi individui il piů grande, solo che mi viene ritornato sempre il
valore 0 qualsiasi numero inserisca.
Qua vi allego il codice.
Grazie a tutti.
#include <iostream>
using namespace std;
int max (int, int, int, int, int, int, int, int, int, int);
int main() {
   int a, b, c, d, e, f, g, h, i, j, k;
   cout << "Inserisci numero" << endl;
   cin >> a;
   cout << "Inserisci numero" << endl;
   cin >> b;
   cout << "Inserisci numero" << endl;
   cin >> c;
   cout << "Inserisci numero" << endl;
   cin >> d;
   cout << "Inserisci numero" << endl;
   cin >> e;
   cout << "Inserisci numero" << endl;
   cin >> f;
   cout << "Inserisci numero" << endl;
   cin >> g;
   cout << "Inserisci numero" << endl;
   cin >> h;
   cout << "Inserisci numero" << endl;
   cin >> i;
   cout << "Inserisci numero" << endl;
   cin >> j;
   k = max(a, b, c, d, e, f, g, h, i, j);
   cout << "il numero piů grande č :" << k << endl;
   }
int max (int a, int b, int c, int d, int e, int f, int g, int h, int i, int
j){
 int massimo;
    if ( a > b ){
    a = massimo;
    }
    else
     b = massimo;
       if (c > massimo)
       c = massimo;
          if (d > massimo)
          d = massimo;
             if (e > massimo)
             e = massimo;
                if (f > massimo)
                f = massimo;
                   if (g > massimo)
                   g = massimo;
                      if (h > massimo)
                      h = massimo;
                         if (i > massimo)
                         i = massimo;
                            if (j > massimo)
                            j = massimo;
                               return massimo;
    }

 Come posso creare la funzione?
Semplice,
pseudo codice:
ciclo x da 2 a 1000
	ciclo y da 2 ad x
		se x modulo y = 0 then non e' primo, esci
Saluti.
-- 
I'am what I'am, I do what I can

 se x modulo y = 0 then non e' primo, esci
non c'č bisogno di provarli tutti... con questo trucco la verifica č
estremamente piů veloce.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.525 / Virus Database: 322 - Release Date: 09/10/2003

Scusa la franchezza ma il codice scritto fa schifo!
Intanto ti conviene passare alla funzione max un array contenente i numeri
di cui vuoi trovare il massimo valore.
Sarebbe utile anche una bella procedura a se in cui riempi l'array con i
dati inseriti dall'utente sfruttando dei cicli senza ripetere inutilmente
istruzioni.
Comunque l'errore del tuo programma deriva da tutti gli assegnamenti che hai
fatto
Devi invertire
                    a = massimo
con massimo = a
e cos' via per tutti gli altri.
Ciao
Andrea
P.S:
Scusa se sono stato troppo diretto all'inizio. Non sono un presuntuoso che
pensa di scrivere codice perfetto.
Il fatto è che hai postato un brutto esempio di codice.

 > ciclo y da 2 a round(radicequadrata(x))
Costa meno ciclare sui quadrati: da 2 * 2 a x
Ciao,
Nicola