|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2008
Città: Napoli
Messaggi: 21
|
[C] io, gli array, e le funzioni...
Sono di nuovo io, qui ad elemosinare aiutooo!! XD
Stavolta mi viene chiesto di trovare il massimo in un array... "questo lo so fare", penso io.. e infatti: Codice:
#include <stdio.h>
#include <stdlib.h>
main () {
int i, n, *a, massimo;
printf ("Quante locazioni deve contenere il tuo array?\n");
scanf ("%d", &n);
a= (int*) malloc (n*sizeof(int));
for (i=0; i<=n; i++) {
printf ("Inserisci il valore n.%d\n", i);
scanf ("%d", &a[i]); }
massimo=0;
for (i=0; i<=n; i++) {
if (a[i]>massimo) {
massimo=a[i]; }
else { massimo=massimo; }
}
printf ("Il valore massimo contenuto nell'array e' pari a %d\n", massimo);
system ("pause");
}
dunque scrivo Codice:
#include <stdio.h>
#include <stdlib.h>
int maxn (int max);
main () {
int i, n, *a, massimo, max;
printf ("Quante locazioni deve contenere il tuo array?\n");
scanf ("%d", &n);
a= (int*) malloc (n*sizeof(int));
for (i=0; i<=n; i++) {
printf ("Inserisci il valore n.%d\n", i);
scanf ("%d", &a[i]); }
massimo= maxn (max);
printf ("Il valore massimo contenuto nell'array è pari a %d\n", massimo);
system ("pause");
}
int maxn (int max) {
int i, a[i], n;
max=0;
for (i=0; i<=n; i++) {
if (a[i]>max) {
max=a[i]; }
else { max=max; }
}
return max;
}
Vi ringrazio tanto |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
A maxn devi passare i parametri che ti servono nella funzione, il cui valore viene definito in main, in questo caso *a e n, all'interno della funzione devi ricavarti il massimo e ritornarlo al main con return.
Supponi di avere una funzione che fa la somma fra A e B, cosa gli dovrai passare alla funzione somma ? Ovviamente A e B e dovrai ritornare A + B. Stesso discorso in questo caso: devi trovare il massimo, allora gli dovrai passare il vettore e il numero di elementi. Il valore di ritorno dovrà essere il massimo. |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Dec 2008
Città: Napoli
Messaggi: 21
|
sììììì hai ragioneeee!! ti farei una statua d'oro
Codice:
#include <stdio.h>
#include <stdlib.h>
int maxn (int n, int *a);
main () {
int i, n, *a, massimo, max;
printf ("Quante locazioni deve contenere il tuo array?\n");
scanf ("%d", &n);
a= (int*) malloc (n*sizeof(int));
for (i=0; i<=n; i++) {
printf ("Inserisci il valore n.%d\n", i);
scanf ("%d", &a[i]); }
massimo= maxn (n, a);
printf ("Il valore massimo contenuto nell'array è pari a %d\n", massimo);
system ("pause");
}
int maxn (int n, int *a) {
int i;
int max=0;
for (i=0; i<=n; i++) {
if (a[i]>max) {
max=a[i]; }
else { max=max; }
}
return max;
}
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
|
Consiglio la lettura di una dispensina teorica sulle funzioni (matematica/informatica)..
__________________
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
malocchio: hai la firma irregolare, max 3 righe di testo alla risoluzione di 1024.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:22.



















