Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-10-2002, 09:16   #1
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Programma in C

Ciao a tutti,
sono alle prime armi con la programmazzione in C.
Devo fare un esercizio che compili e vada perfettamente..
Il testo dice: chiedere all' utente (al massimo) 13 voti che ha registrato in quest'anno accademico, e di calcolarne la media, dire quale fra i voti è il massimo e quale il minimo.

Tenendo presente che abbaimo fatto solo cicli e procedure ricorsive, avete qualche idea da suggerirmi?

ciao e grazie
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2002, 11:35   #2
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
Codice:
#include <stdio.h>
#define NMAX    13 /*numero massimo dei voti*/
#define VMAX    10.0 /*voto massimo*/

int main()
{
  int n, i;
  float somma, max, min, voto;

  do {
    printf("\nNumero dei voti da inserire : ");
    scanf("%d",&n);
    if(n > NMAX || n < 1)
      printf("Inserire un numero compreso fra 1 e %d\n", NMAX);
  } while(n > NMAX || n < 1);

  somma = 0.0;
  max = 0.0;
  min = VMAX+1.0;

  printf("\n");
  for(i = 0; i < n; i++) {
    do {
      printf("Voto numero %d : ", i+1);
      scanf("%f",&voto);
      if(voto > VMAX || voto < 0.0)
        printf("Inserire un voto compreso fra 1 e %.2f\n", VMAX);
    } while(voto > VMAX || voto < 0.0);
    if(voto > max) max = voto;
    if(voto < min) min = voto;
    somma += voto;
  }

  printf("\n\nInseriti %d voti"
           "\nLa media è %.2f"
           "\nIl voto minimo è %.2f"
           "\nIl voto massimo è %.2f\n",
           n, somma/n, min, max);
  /*le due istruzioni che seguono servono
    solo per permettere di leggere l'output
    del programma*/
  printf("\n\nPremere un tasto per terminare...");
  getch();
  return 0;
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2002, 11:43   #3
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Cacchio,
ma lo avevi gi afatto o ti sei messo apposta???
grassie mille !

Ho preso un po paura...cakkio non ci arrivero mai io!!
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2002, 11:54   #4
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
Vabbè sono 2 minuti
Dai dai...impegnati...
Se c'è qualcosa che non capisci dimmi pure...

Si poteva emttere anche qualche funzioncina...
Ad esempio quella che legge il voto...ma è solo una questione di leggibilità in questo caso....
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2002, 12:52   #5
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Vabbè sono 2 minuti
Dai dai...impegnati...
Se c'è qualcosa che non capisci dimmi pure...

Si poteva emttere anche qualche funzioncina...
Ad esempio quella che legge il voto...ma è solo una questione di leggibilità in questo caso....

Avevo pensato pure io di chiedere quanti voti sono stati registrati per creare un ciclo in modo da uscinre quando il numero di voti fosse stato quello dichiarato ma non riuscivo ad "accumulare" i vari voti perche con un semplice ciclo si sarebbero sovrascritti prima che li potessi analizzare calcolandone la meia il max e il min...forse mi spiego male...anzi sicuro...
cmq grazie ancora della disponibilità....
ah i voti doveveno andare da minimo 18 a 30 perche sono voti universitari...ma no problema...almeno a modificarlo ci riesco!!! hehehe...

Grazie ancora...mi sa che ci riseniremo
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2002, 14:16   #6
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
Nono...non ti sei spiegato male...

Comunque se i voti sono in 30esimi allora puoi benissimo rendere max, min e voto interi..
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2002, 14:53   #7
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Scusami nuovamente, su una dispensa c'era questo esempio di procedure ricorsive per il quale ho dovuto inventarmi un main per vedere se compilava giusto....perche ho i miei dubbi riguardo all' output...dovrebbe dare un triangolo di n righe composto da spazi e * del tipo

---*
--***
*****
e via dicendo in base ad il valore n che immetto.....
secondo me non viene cosi ma così:

---*
--**
***
scusa ma non si reffa bene a fare sti schifo di disegni... ho messo le --- perche altrimenti non veniva incolonnato per bene...ci andrebbero spazi vuoti..

il fatto e che sto robo compila giusto ma se lo eseguo la pseudo shell mi si chiude nonostante il comando che ho aggiunto alla fine system pause...

E'solo un problema del mio compilatore? Ciao


-------------------------------------------------------------------------------



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

void scrivicarattere (char c, int n)
{ if (n>0) {
printf ("%c",c);
scrivicarattere (c,n-1);
}
}


void aux (int spazi, int stelle)
{if (stelle>0){
aux (spazi+1, stelle-1);
scrivicarattere (' ',spazi);
scrivicarattere ('*',stelle);
printf ("\n");
}
}


void stelle (int n)
{aux (0,n);
}


int main()
{ int x=0;
printf ("scrivi numero righe");
scanf ("%d\n",x);
stelle (x);

system("PAUSE");

}
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2002, 15:10   #8
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
Metti un getch(); in fondo invece del system("pause")...

PS: creeping death....mitici Metallica !!!

Comunque se deve essere così :

Ha ragione il testo...devi aggiungere 2 * per ogni livello...

i = indice del livello (parte da zero e arriva a n)
n = numero di livelli
Devi stampare n-i-1 spazi e (2*i)+1 asterischi...

OOOA
OOAAA
OAAAAA
AAAAAAA
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2002, 19:24   #9
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Metti un getch(); in fondo invece del system("pause")...

PS: creeping death....mitici Metallica !!!

Comunque se deve essere così :

Ha ragione il testo...devi aggiungere 2 * per ogni livello...

i = indice del livello (parte da zero e arriva a n)
n = numero di livelli
Devi stampare n-i-1 spazi e (2*i)+1 asterischi...

OOOA
OOAAA
OAAAAA
AAAAAAA
True metal never die!!

Ho cambiato e messo getch(); ma si chiude lo stesso!!
Che compilatore usi ? ah lo usi su win o su linux?
Bho mi va in balla solo con questo progetto....uso dev-c++
Cmq dici che è giusto....lo provero di nuovo domani in unive...grazie intanto!
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2002, 09:26   #10
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
Dipende...il codice che ti ho postato prima l'ho scritto in Dev-C++, mentre altre cose le scrivo in Visual C++ o Borland C++ Builder...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-10-2002, 19:55   #11
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Metti un getch(); in fondo invece del system("pause")...

PS: creeping death....mitici Metallica !!!

Comunque se deve essere così :

Ha ragione il testo...devi aggiungere 2 * per ogni livello...

i = indice del livello (parte da zero e arriva a n)
n = numero di livelli
Devi stampare n-i-1 spazi e (2*i)+1 asterischi...

OOOA
OOAAA
OAAAAA
AAAAAAA

ciao,
scusa ma non l'ho piu provato sto programma....
allora dovrebbe andare codi come te l'ho trascritto?
Ma se io assegno a x nel main 5, la proc. aux inizia con i pareametri formali spazi=0 e stelle=5....
essendo stelle>o
ottengo
spazi=1 e stelle=4
essendo ancora stelle>0
ottengo
.......
......
.......
spazi=5 e stelle=0 -----> cosi esco dalla condizione
e passo alla proc scrivistelle 4 spazi, che la procedura stampa e va a capo, dopo passo alla stessa 1stella che viene stampata e vado a capo.....
successivamente alla proc aux ritorna spazi 4 e 2 asterischi...
e via dicendo ....
ma cosi facendo stamperebbe veramente quello che sostengo!!!
che passaggio ricorsivo salto?



ti ripeto che a me viene da pensare che stampa così:

ooooA
oooAA
ooAAA
oAAAA
AAAAA


non mi capisco piu!!!!
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2002, 09:40   #12
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
No...avevo capito male...il codice non l'ho provato...
Se vuoi lo provo, ci sono 3 mila modi per fare una cosa del genere...

Nel programma manca una & nella scanf...
Comunque hai ragione...fa quello che dici te... In ogni caso è un triangolo anche quello...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2002, 10:00   #13
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]No...avevo capito male...il codice non l'ho provato...
Se vuoi lo provo, ci sono 3 mila modi per fare una cosa del genere...

Nel programma manca una & nella scanf...
Comunque hai ragione...fa quello che dici te... In ogni caso è un triangolo anche quello...

volevo compilarlo così come era scritto nella dispensa...e mi sono inventatoo un main...adesso compila giusto ma una volta inseriti i numeri di righe non fa nulla...


sto facendo un altro programma che calcola la potenza di un numero passando ad un aprocedura base ed esponente.....ma mi sono sorti dei dubbi matematici.....:

0 alla 0 non esiste vero?

1 alla 0 = 1
-1 alla 0 =+1 o -1 ?
la calcolatrice da -1 ma sapevo che ogni numero positivo o negativo alla 0 da 1 ???

-1 alla 2 =+1 o -1 ??? la calcolatrice da -1 ma dai miei conti è come dire -1*-1= +1 !!!


Ps : non dite niente al mio proff di analisi
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2002, 10:14   #14
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
Immetti un altro invio...non capisco perchè però se non lo immetti non parte...
Ah ecco...hai messo lo \n nello scanf...è per quello...

Comunque -1 ^ 0 è -1...perchè puoi fare -(1^0) = -1...

Il segno del risultato di un numero negativo elevato ad una potenza pari è sempre +...mentre se lo si eleva ad una potenza dispari il segno è sempre meno

Ahi ahi ahi...non si studia...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2002, 11:02   #15
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Immetti un altro invio...non capisco perchè però se non lo immetti non parte...
Ah ecco...hai messo lo \n nello scanf...è per quello...

Comunque -1 ^ 0 è -1...perchè puoi fare -(1^0) = -1...

Il segno del risultato di un numero negativo elevato ad una potenza pari è sempre +...mentre se lo si eleva ad una potenza dispari il segno è sempre meno

Ahi ahi ahi...non si studia...

allora:

-ho tolto il \n e adesso si richiude la shell....come un tempo....

-la storia dei segni...bhe ci sono arrivato...ho dovuto ....concentrarmi un po e riflettere sulle ca@@ate che stavo dicendo....

-nel frattempo ho scritto sto programma, ma con valori del tipo -x alla esponente dispari mi da valore positivo e non negativo....
il problema sta nella valutazione b>0 ...ma non riesco asistemarlo....

qualche suggerimento?


#include <stdio.h>

double potenza (double b, int e)
{
int i,pot,pot0;
pot=1;
pot0=0;


if (b==0 && e==0) /* caso in cui base ed esponente sono entrambi 0 */
return printf ("ERROR\n");

if (b==0 && e!=0) /*caso in cui base è 0 ed esponente qualsiasi*/
return 0;

for (i=0;i<e;i++)
pot=pot*b;
if (b>0) /* caso in cui la base sia positiva */
return pot;
else
return -pot; /* caso in cui la base sia negativa */
}


int main()
{
double base,risultato;
int esponente;
printf ("Scrivi base\n");
scanf ("%lf", &base);
do
{printf ("Scrivi esponente\n");
scanf ("%d", &esponente);
if (esponente<0)
printf ("L'esponente deve essere un intero positivo!\n");}
while (esponente<0);
printf ("Risultato= %.1lf\n",potenza(base,esponente));
printf ("\n");
system("PAUSE");
}
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2002, 11:39   #16
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
Non importa che tu faccia la distinzione fra base positiva e base negativa...

b è già negativo...quindi se faccio b^3 e b è negativo mi ritornerà da solo un numero negativo...senza bisogno di cambiare segno...
Come fai te torna sempre un nuemro positivo...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2002, 11:52   #17
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Non importa che tu faccia la distinzione fra base positiva e base negativa...

b è già negativo...quindi se faccio b^3 e b è negativo mi ritornerà da solo un numero negativo...senza bisogno di cambiare segno...
Come fai te torna sempre un nuemro positivo...


l'ho modificato così.....


#include <stdio.h>

double potenza (double b, int e)
{
int i,pot,pot1;
pot=1;
pot1=-1;

if (b==0 && e==0) /* caso in cui base ed esponente sono entrambi 0 */
return printf ("ERROR\n");
if (b<0 && e==0) /* caso di base negativa ed esponente 0 */
return pot1;
for (i=0;i<e;i++) /* casi qualsiasi*/
pot=pot*b;
return pot;
}


int main()
{
double base,risultato;
int esponente;
printf ("Scrivi base\n");
scanf ("%lf", &base);
do
{printf ("Scrivi esponente\n");
scanf ("%d", &esponente);
if (esponente<0)
printf ("L'esponente deve essere un intero positivo!\n");}
while (esponente<0);
printf ("Risultato= %.1lf\n",potenza(base,esponente));
printf ("\n");
system("PAUSE");
}



un numero negativo alla 0 da sempre ......?
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2002, 12:24   #18
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
.
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2002, 16:06   #19
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
Quote:
Originariamente inviato da MetalMassacre
[b]un numero negativo alla 0 da sempre ......?
Boh...mi sa che ho scazzato...mi sa 1...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2002, 18:24   #20
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]
Boh...mi sa che ho scazzato...mi sa 1...

no dai ormai ho fatto che da -1!!!
__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Roscosmos: static fire per i propulsori ...
Alcune partite NBA saranno trasmesse in ...
Intel Core 13000 e 14000 aumentano uffic...
Gemini sta per arrivare in Google Maps: ...
2 minuti per vedere le 27 offerte imperd...
Ray-Ban Meta Display: tecnologia sorpren...
Un mini PC a prezzo stracciato, non cerc...
Al via i coupon nascosti di ottobre: qua...
Ferrari Elettrica si aggiorna solo in of...
Doppio sconto sugli smartphone top Xiaom...
Samsung è sempre più prota...
ChatGPT ha pregiudizi politici? Ecco cos...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Il Motorola Edge 70 non ha più se...
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: 18:52.


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