.dsy:it.
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)


Posted by albakiara on 17-11-2014 12:14:

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 :shock:


Posted by mark on 17-11-2014 13:23:

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"); }


questa riga di codice --------> srand (time(NULL)); va messa fuori dal ciclo for()

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by albakiara on 17-11-2014 14:39:

grazie :)


Posted by albakiara on 17-11-2014 15:43:

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; }


Posted by Cronovirus on 17-11-2014 16:15:

Cambia nome ad "alloca" e mettila prima del main :) (oltre ad importare le opportune librerie)


Posted by albakiara on 17-11-2014 16:56:

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?


Posted by Cronovirus on 17-11-2014 17:09:

lancia "man alloca", esiste già! :D


Posted by albakiara on 17-11-2014 17:17:

ahahah va bene! grazie come sempre :)


All times are GMT. The time now is 21:18.
Show all 8 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.