Problema Funzione In C

ankermann00

Nuovo Utente
22
1
Ciao a tutti sono nuovo in questo forum, sono al primo anno di università informatica e ho un problema, stavo leggendo delle pagine del libro e ho visto una funzione che ho ricopiato sul compilatore ma mi da un errore, potete dirmi cosa manca e dove va messo?
 

Allegati

  • prob.png
    prob.png
    23.2 KB · Visualizzazioni: 36

Fenix27

Utente Attivo
863
220
Come ha detto Mursey, manca la funzione principale (il main).
Nel main devi richiamare la funzione e come parametro gli devi passare un intero.
 

ankermann00

Nuovo Utente
22
1
Scusate l'ignoranza, ma la funzione main l'ho usata solo per programmi semplici come somme o differenze e adesso non mi viene facile metterla dopo int primo, cioè va messa al rigo 22 int main() e poi sotto cosa devo mettere?

Mi hanno detto di completarlo così, qualcuno può spiegarmi il programma adesso? E cosa dovrei mettere dentro "Test primo"
 

Allegati

  • Immagine.jpg
    Immagine.jpg
    55 KB · Visualizzazioni: 22
Ultima modifica da un moderatore:

rodhellas

Utente Èlite
1,522
427
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
HDD
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
GPU
Gigabyte GTX 960 OC
Audio
Integrata
Monitor
SyncMaster 223BW
PSU
Antec HCG-520M
Case
Meshify C
Net
Gigabit Fastweb
OS
Windows 10 64bit
La funzione int primo si aspetta un intero come parametro (int n). Tu chiami la funzione con il numero dentro le parentesi ( es. primo(10) ) e lui ti ritorna 1 o 0 se corrisponde ad un numero primo o no.
 
M

Mursey

Ospite
Ti conviene leggere ancora un po' di teoria su cosa e' il main e come si usano le funzioni.
 

BAT

Moderatore
Staff Forum
Utente Èlite
22,902
11,552
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
però 2 è un numero primo...
mi sembra invece che la funzione che vedo nell'immagine su input 2 restituisca 0 (falso) ossia che 2 non è primo
 

Hobet

Utente Attivo
609
222
CPU
i5 6600k
Dissipatore
AIO H100
Scheda Madre
ASUS z170 Deluxe
HDD
1 WD Blue 1 TB; evo 850 500gb
RAM
Vengeance 4x4
GPU
GTX 1070ti MSI
Audio
Nope
Monitor
MG278Q
Case
750D Corsair
Net
Fastweb 200/30
OS
PucyBuntu
però 2 è un numero primo...
mi sembra invece che la funzione che vedo nell'immagine su input 2 restituisca 0 (falso) ossia che 2 non è primo
Niente di personale contro di te, ma che tristezza questo genere di errore all'uni.

però 2 è un numero primo...
mi sembra invece che la funzione che vedo nell'immagine su input 2 restituisca 0 (falso) ossia che 2 non è primo
Perchè il geniaccio dell'esempio si è basato sul fatto che tutti i numeri primi debbano essere per forza dispari e dunque ha usato l'operatore "%", scordandosi che 2 è primo.
 
Ultima modifica da un moderatore:

VidRam

Utente Èlite
1,880
342
CPU
AMD Ryzen 5 3500X
Dissipatore
DeepCool Gammaxx 400V2 Blue Ed.
Scheda Madre
Gigabyte b550 DS3H rev 1.0
HDD
NVME Intel 600p 512GB
RAM
2x8GB DDR4 Crucial Ballistix èlite 3200mhz
GPU
Nvidia Geforce RTX 2060 6GB Manli
Audio
Asus Xonar AE
Monitor
AOC G2460V 75hz 1ms + Benq FP 17"
PSU
Evga 500w 80plus white
Case
Golden Field P3
Periferiche
Logitech G413 Red Carbon/ Mionix Avior 7000 / Sennheiser GSP350.
Net
Fibra in rame 100 mb\s
OS
Windows 10 Pro 64bit
Ciao a tutti sono nuovo in questo forum, sono al primo anno di università informatica e ho un problema, stavo leggendo delle pagine del libro e ho visto una funzione che ho ricopiato sul compilatore ma mi da un errore, potete dirmi cosa manca e dove va messo?
Wei, allora mi spiegheresti esattamente qual'è la traccia del tuo esercizio?
1- Chiami la funzione sqrt dalla libreria math.. Però ti consiglierei di fare tutto in stdio.h e poi dichiarare e scrivere fisicamente la sqrt, così capiresti veramente come funziona la ''funzione'' e la sua chiamata. (Puoi fare tutto senza la sqrt eh...)
2- Che libro di dev c vi hanno dato?
3- Poi non sono d'accordo con la dichiarazione, devi metterci uno scanf che inserisce un n che vuoi ogni volta, così il programma diventa molto ma molto più completo.
4-Ti serve l'aiuto di una variabile sentinella, chiamala ''primo'', e questa assume valore 1 se il tuo n è effettivamente un primo (Quindi ponendolo in un ciclo while, ove fai sostanzialmente n%i == 0 la variabile sentinela da 0, altrimenti da 1 e con printf associato ti stampa: Il tuo n è primo.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili