Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Attenti a Poco F7: può essere il best buy del 2025. Recensione
Attenti a Poco F7: può essere il best buy del 2025. Recensione
Poco F7 5G, smartphone che punta molto sulle prestazioni grazie al processore Snapdragon 8s Gen 4 e a un display AMOLED da ben 6,83 pollici. La casa cinese mantiene la tradizione della serie F offrendo specifiche tecniche di alto livello a un prezzo competitivo, con una batteria generosissima da 6500 mAh e ricarica rapida a 90W che possono fare la differenza per gli utenti più esigenti.
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-11-2009, 09:06   #1
M4rk90
Member
 
L'Avatar di M4rk90
 
Iscritto dal: Aug 2007
Messaggi: 265
[C++] Prime armi, Programma che verifichi se un numero è primo. Help!

Salve a tutti.. come da titolo sono alle prime armi con questo linguaggio...
Vorrei riuscire a creare un programma che verifichi se un numero è primo o no...

ecco il mio codice...che vi dico già da ora che è sbagliato:
Codice:
#include <stdio.h>
#include <stdlib.h>

main()

{
int x, num, prim;
printf("\tNumeri primi.");
printf("\n\nSe vuoi verificare che un numero e' primo digita 1, \naltrimenti digita 2 se vuoi avere stampati \ni primi n numeri primi: ");
scanf("%d", &x);
while ((x!=1)&&(x!=2))
      {
      printf("Il comando da te inserito e' errato, digita nuovamente il comando: ");
      scanf("%d", &x);
      }
if (x==1)
   {
   printf("Inserisci il numero da verificare: ");
   scanf("%d", &num);
         if (num%2==0)
            {printf("Il numero non e' primo.");}
         else 
                 for (int i=2; i<num;)
                 {
                 prim=num%i;
                            if (prim!=0)
                               {
                               printf("Il numero da te inserito e' primo.");
                               break;
                               }
                            else
                               i++;
                 }      
   }
printf("\n");
system("pause");
return 0;      
}
__________________
Il mio Flickr
M4rk90 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 09:54   #2
Allure
Senior Member
 
L'Avatar di Allure
 
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 1242
Che problemi ti da di preciso? Intanto non dovrebbe esserci un valore di ritorno int per il main?
__________________
Concertina: "I know the truth is in between the 1st and 40th drink"
Allure è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 09:58   #3
M4rk90
Member
 
L'Avatar di M4rk90
 
Iscritto dal: Aug 2007
Messaggi: 265
scusa ma non ho capito..

comunque il problema è che non incrementa i a 3 e quindi non controlla..diciamo che mi dice che tutti i numeri dispari sono primi...
__________________
Il mio Flickr
M4rk90 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 10:15   #4
Allure
Senior Member
 
L'Avatar di Allure
 
Iscritto dal: Nov 2002
Città: Roma
Messaggi: 1242
Quote:
Originariamente inviato da M4rk90 Guarda i messaggi
scusa ma non ho capito..

comunque il problema è che non incrementa i a 3 e quindi non controlla..diciamo che mi dice che tutti i numeri dispari sono primi...
butto benzina sul fuoco... mi dice anche che 2 non è un numero primo
__________________
Concertina: "I know the truth is in between the 1st and 40th drink"
Allure è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 10:30   #5
M4rk90
Member
 
L'Avatar di M4rk90
 
Iscritto dal: Aug 2007
Messaggi: 265
sisi...li devo porre che se inserisco 2 mi dice automaticamente che è primo... quello lo risolvo con un semplice if+printf
__________________
Il mio Flickr
M4rk90 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 11:20   #6
M4rk90
Member
 
L'Avatar di M4rk90
 
Iscritto dal: Aug 2007
Messaggi: 265
nessuno sa aiutarmi??
__________________
Il mio Flickr
M4rk90 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 11:51   #7
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
includi <math.h> e cambia il for in questa maniera:
Codice:
for (int i = 2; i <= (int)sqrt(num); i++)
{
    if (num % i == 0)
    {
        printf("Il numero da te inserito NON e' primo.");
        break;
    }
}
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 11:56   #8
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2774
Comunque stai programmando praticamente in C (nel senso che non stai usando nessuna peculiarità del C++)
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 12:14   #9
M4rk90
Member
 
L'Avatar di M4rk90
 
Iscritto dal: Aug 2007
Messaggi: 265
si lo sò... il compilatore è il dev c++
__________________
Il mio Flickr
M4rk90 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 15:47   #10
lupixslacky
Junior Member
 
L'Avatar di lupixslacky
 
Iscritto dal: Jun 2005
Messaggi: 26
Sono d'accordo stai programmando in C...
Un esempio:
printf e' di c
cout<< e' c++
Ma ci sono molte altre cose...
Poi se vuoi continua cosi' ma non parlare di c++ postando codice alla maniera di c.Senza offesa,il mio e' un consiglio.
lupixslacky è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2009, 12:39   #11
wizard_at
Senior Member
 
L'Avatar di wizard_at
 
Iscritto dal: Jul 2006
Città: MILANO
Messaggi: 1645
Quote:
Originariamente inviato da fero86 Guarda i messaggi
includi <math.h> e cambia il for in questa maniera:
Codice:
for (int i = 2; i <= (int)sqrt(num); i++)
{
    if (num % i == 0)
    {
        printf("Il numero da te inserito NON e' primo.");
        break;
    }
}
quindi per vedere se e' primo ti basta fare :

Codice:
int i;
for (i = 2; i <=sqrt(num); i++)
{
    if (num % i == 0)
    {
        break;
    }
}
if ( ! ( i <=sqrt(num) ) ) printf ( "primo!" ) ;
__________________
xoooxoooxooox
wizard_at è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Attenti a Poco F7: può essere il best buy del 2025. Recensione Attenti a Poco F7: può essere il best buy...
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Grok Imagine: evoluzione dell'IA o nuova...
L'Italia saluta anche IVECO: finalizzata...
Summer Black Friday: spendi meno e godit...
Half-Life 3? No, Gabe Newell produrr&agr...
Apple al lavoro su un sensore che "...
TSMC vittima di spionaggio industriale s...
Cooler Master MasterFrame 500: un flusso...
Apple accelera sull'IA interna: c'&egrav...
I robotaxi arrivano in Europa: Lyft e Ba...
Ancora voci sul mega tablet pieghevole d...
Un computer quantistico con 10.000 qubit...
AVM cambia nome e faccia: ora si chiama ...
SatNet ha lanciato altri satelliti per l...
Flop autonomia per la Fiat Grande Panda ...
2 TV LG da favola in super sconto: OLED ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v