Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-11-2003, 18:15   #1
Manson666
Bannato
 
Iscritto dal: Oct 2000
Messaggi: 552
C domanda su funzione rand()

Ho un dubbio riguardo l'utilizzo della funzione rand() in un esercizio presente sul mio manuale di C.

Il codice è questo:

#include <stdio.h>
#include <stdlib.h>

int main(){

int i;
unsigned seed;

printf("Inserire il seme: ");
scanf("%u", &seed);
srand(seed);

for(i=1;i<=10;i++){
printf("%10d",1+rand()%6);

if(i%5) == 0;
printf("\n");
}

return 0;
}

La cosa che non capisco è a cosa servano queste due righe di codice:

if(i%5) == 0;
printf("\n");

Grazie
Manson666 è offline   Rispondi citando il messaggio o parte di esso
Old 24-11-2003, 18:22   #2
angelica
Member
 
Iscritto dal: Nov 2003
Messaggi: 42
if(i%5) == 0;

mi sembra sbagliato...
__________________
ANGI
angelica è offline   Rispondi citando il messaggio o parte di esso
Old 24-11-2003, 18:23   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Probabilmente volevano scrivere questa cosa:

if((i%5) == 0)
printf("\n");
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 24-11-2003, 18:31   #4
angelica
Member
 
Iscritto dal: Nov 2003
Messaggi: 42
Quote:
if((i%5) == 0)
printf("\n");
penso che queste righe servano (non ho compilato il prog) a fare andare a capo dopo cinque risultati su una riga...
__________________
ANGI
angelica è offline   Rispondi citando il messaggio o parte di esso
Old 24-11-2003, 19:51   #5
Sephiroth83
Member
 
L'Avatar di Sephiroth83
 
Iscritto dal: May 2003
Città: Torino
Messaggi: 63
Angelica ha ragione, infatti l'operatore % (ad es. a%b) restituisce il modulo di un numero (nell'esempio a) diviso un altro (b). Il modulo non è altro che il resto della divisione, ad es 14%5 == 4.

Nal tuo programma la variabile i è multiplo di 5 ogni 5 cicli (ma dai?!?) è il risultato del modulo è zero ==> ogni 5 cicli stampa un "a capo". Tutto chiaro?
__________________
AMD K6 450 MHz, Epox MVP3G2 FSB 100 MHz, 320 MB RAM, HDD IBM 7200 60 GB, VooDoo III (è vecchia ma per diablo II va ancora bene )
Sephiroth83 è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2003, 23:21   #6
ivanao
Senior Member
 
Iscritto dal: Jan 2002
Messaggi: 2315
giusto è il resto di divisione intera, quindi se i=5 viene 5/5=1 quindi resto 0 e stampa un \n , poi se i=10 viene 10/5=2 con resto 0 e stampa \n
ivanao è offline   Rispondi citando il messaggio o parte di esso
Old 27-11-2003, 10:32   #7
bizzu
Senior Member
 
L'Avatar di bizzu
 
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2279
... e la stessa operazione è svolta nell'usare il rand(), che restituisce un int (mi sembra); quindi per avere un numero (pseudo)casuale da 0 a 5 si scrive rand()%6 (resto da 0 a 5 )
Byez
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM
Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB
bizzu è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Annunciata la tuta di volo di Vast che s...
Vast presenta il nuovo Large Docking Ada...
Una denuncia getta ombre sulle batterie ...
DJI Avata 2 Fly Smart Combo a 526€: il d...
Alla guida della nuova auto elettrica ci...
GeForce RTX 3060 12 GB a giugno di nuovo...
Apple Music sarà sponsor ufficiale di Po...
The Mandalorian & Grogu: trailer fin...
Fedeltà record: Apple blinda gli utenti,...
Volkswagen ID.3 Neo: fino a 630 km di au...
GPU-Z mette i dati personali a rischio? ...
La PS6 potrebbe essere retrocompatibile ...
Amazfit Cheetah 2 Pro arriva in Italia: ...
Duolingo ammette l'errore dopo un anno: ...
Samsung Galaxy Tab S10 Lite a 249€: il t...
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: 22:09.


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