Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-11-2002, 14:30   #1
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Ricorsione

Ciao a tutti,esperti o meno.... devo fare una PROCEDURA RICORSIVA,

int decr (int tab[] , int n)

nella quale vi è un array di interi, tale procedura restituisce 0 se i numeri inseriti sono decrescenti (in valore assoluto) altrimenti 1...


ho iniziato ad impostarla...ma coem ricorsione non è il massimo...
non riesco a districarmine....

avete consigli?


#include <stdlib.h>
#include <stdio.h>
#define DIM 5

int decr (int tab[], int n)
{ if (abs (tab[n-1])> abs (tab[n-2]))
return 1;
else decr (tab, n-1); /*boo quà sto ancora improvvisando...*/

}




int main()
{int a,i=0;
int tab [DIM];
printf ("Scrivi %d numeri\n",DIM);

for (i=0; i<DIM; i++)
{printf ("Digita il %d numero\n",i+1);
scanf ("%d",&tab[i]);}

a= decr (tab, DIM);
printf ("%d\n",a);

system("PAUSE");
return 0;
}
__________________
...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 12-11-2002, 15:39   #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
Manca la condizione di arresto...
Una funzione del genere ti andrebbe in ciclo...

Non è che poi ci si possa inventare l'impossibile con una funzione così semplcie

Io l'avrei fatta così :
Codice:
int decr(int tab[], int n) 
{ 
   if(n <= 1)  /*condizione di errore*/
      return 1; 
  
   if(abs(tab[n-1]) > abs(tab[n-2]))
      return 1;

   if(n == 2)  /*condizione di arresto*/
      return 0;

   return decr(tab, n-1);
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2002, 20:13   #3
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
coinci, mi speghi l'utilizzo del tag code?? Non ne ero a conoscenza
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2002, 00:09   #4
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cn73
[b]coinci, mi speghi l'utilizzo del tag code?? Non ne ero a conoscenza
Che è? Cosa mi sono perso??? Che sarebbe?
__________________
...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 13-11-2002, 07:07   #5
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 cn73
[b]coinci, mi speghi l'utilizzo del tag code?? Non ne ero a conoscenza
Fai {code}codice indentato{/code}...ovviamente con le []...
E ti lascia il codice indentato...c'è anche il tag PHP, per scrivere codice php
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2002, 08:18   #6
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Fantastico
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2002, 13:33   #7
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]Manca la condizione di arresto...
Una funzione del genere ti andrebbe in ciclo...

Non è che poi ci si possa inventare l'impossibile con una funzione così semplcie

Io l'avrei fatta così :
Codice:
int decr(int tab[], int n) 
{ 
   if(n <= 1)  /*condizione di errore*/
      return 1; 
  
   if(abs(tab[n-1]) > abs(tab[n-2]))
      return 1;

   if(n == 2)  /*condizione di arresto*/
      return 0;

   return decr(tab, n-1);
}


Grazie !!! intanto ho partorito questa...ceh ad occhio è simile alla tua....che dici? può andare?


int decr (int tab[], int n)
{ if (n==1)
return 0;
if (abs (tab[n-1])< abs (tab[n-2]))
decr (tab, n-1);
else return 1;
}



Fisso oggi ha fatto array multidimensionali....!!! meglio che vada a studiarli che se mi prendo indietro ora che le cose si fanno complicate....son finito!


Posso una domanda illecita? dato che dai programmare bene lo fai per lavvoro o per studio? .... tanto per farmi i cavoli tuoi....


ciao
__________________
...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 13-11-2002, 14:42   #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
Per entrambe le cose

Sì...può andare bene, ma manca il return...altrimenti non funziona niente...
Codice:
int decr (int tab[], int n) 
{
   if (n==1) 
      return 0; 

   if (abs (tab[n-1])< abs (tab[n-2])) 
      return decr (tab, n-1); /*mancava il return qui*/

   return 1;  /*tolto l'else per evitare warning in compilazione*/
}
Questa va bene se consideri che nel caso di un vettore di lunghezza unitaria la funzione debba tornare 0...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2002, 13:37   #9
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Ciao, ho un nuovo quesito....
devo fare una funzione che dato un array di caratteri e un successivo carattere inserito dall'utente, determini se tale carattere è effettivamente presente nell'array....
la funzione deve restituire un puntatroie all'elemento dell'array che contiene il carattere insewrito dall'utente se tale elemento esiste, altrimenti restituisce NULL.


Io ho partorito sto aborto....ma il compilatore mi da un errore prima della chiamata della procedura....?????






#include <stdlib.h>
#include <stdio.h>
#define DIM 5

char *cerca_carattere (char a[], char caract, int dim)
{char *p;
for (p=&a[0]; p<=&a[dim-1]; p++)
if (*p==caract)
return p ; }


int main()
{int i;
char caract;
char tab[DIM];
for (i=0; i<DIM; i++)
{printf ("Scrivi la %d lettera\n", i+1);
scanf ("%c", & tab[i]);}
printf ("Digita un ulteriore carattere\n");
scanf ("%c",&caract);
char *cerca_carattere (tab,caract,DIM)

system("PAUSE");
return 0;
}
__________________
...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 14-11-2002, 15:09   #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
#include <stdlib.h>
#include <stdio.h>
#define DIM 5

char *cerca_carattere (char a[], char caract, int dim)
{char *p;
for (p=&a[0]; p<=&a[dim-1]; p++)
if (*p==caract)
return p ;
/*una funzione deve sempre ritornare in qualsiasi suo ramo di terminazione, quindi nel caso che il carattere non venga trovato devo ritornare qualcosa, cioè NULL*/

return NULL;
}


int main()
{int i;
char caract;
char tab[DIM];
char *p; /* variabile in cui mettere il risultato della ricerca */
for (i=0; i<DIM; i++)
{printf ("Scrivi la %d lettera\n", i+1);
scanf ("%c", & tab[i]);}
printf ("Digita un ulteriore carattere\n");
scanf ("%c",&caract);
p = cerca_carattere (tab,caract,DIM); /*assegnazione del risultato a p*/
if(p != NULL)
printf("\nCarattere trovato!!!\n");
system("PAUSE");
return 0;
}
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
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: 06:47.


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