![]() |
Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Algoritmi e strutture dati (http://www.dsy.it/forum/forumdisplay.php?forumid=207)
-- Chiarimento su riempimento e stampa vettore (http://www.dsy.it/forum/showthread.php?threadid=43866)
Chiarimento su riempimento e stampa vettore
Ciao a tutti! 
Vorrei riempire un vettore con numeri casuali e stamparlo! Solo che difficoltà a capire dove sbaglio...
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100
void riempi_array (int a[], int n);
void stampa_array (int a[], int n);
int main (void) {
int a[N] = {0}, n;
printf ("Inserisci n\n");
scanf ("%d", &n);
riempi_array (a, n);
stampa_array (a, n);
return 0;
}
void riempi_array (int a[], int n) {
int* p;
for (p = a; p< a+n; p++) {
srand (time(NULL));
*p = rand() % 99+1; //assegno al contenuto di numeri compresi tra 0 e 99
}
}
void stampa_array (int a[], int n) {
int* p;
printf ("vettore: ");
for (p = a; p< a+n; p++)
printf ("%d ",*p);
printf ("\n");
}
Grazie ![]()
code:
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 100 void riempi_array (int a[], int n); void stampa_array (int a[], int n); int main (void) { int a[N] = {0}, n; printf ("Inserisci n\n"); scanf ("%d", &n); riempi_array (a, n); stampa_array (a, n); return 0; } void riempi_array (int a[], int n) { int* p; srand (time(NULL)); for (p = a; p< a+n; p++) { *p = rand() % 99+1; //assegno al contenuto di numeri compresi tra 0 e 99 } } void stampa_array (int a[], int n) { int* p; printf ("vettore: "); for (p = a; p< a+n; p++) printf ("%d ",*p); printf ("\n"); }
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
grazie 
ne approfitto per chiedere un'altra cosa sui vettori!
ho scritto questo codice per allocare un vettore con n elementi, dove n è inserito da tastiera.appena compilo ottengo 2 warning:
c:13:7: warning: conflicting types for built-in function ‘__builtin_alloca’ [enabled by default]
void *alloca (int n);
^
c:30:7: warning: conflicting types for built-in function ‘__builtin_alloca’ [enabled by default]
void *alloca (int n)
^
code:
int main (void) { int n, *a; //int *p; printf ("Inserisci n\n"); scanf ("%d", &n); a = (int*) alloca (n); free (a); return 0; } void *alloca (int n) { void *a; a = malloc (n * sizeof (int)); if (a == NULL) exit (1); return a; }
Cambia nome ad "alloca" e mettila prima del main
(oltre ad importare le opportune librerie)
Ho importato le librerie e scritto il prototipo della funzione, anche se nn le ho scritte nel post. Il problema è solo per il nome, ma come mai? Forse xke avevo già scritto in un altro programma una funzione con lo stesso nome?
lancia "man alloca", esiste già! ![]()
ahahah va bene! grazie come sempre 
| All times are GMT. The time now is 11:17. | Show all 8 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.