Oppure

Loading
12/07/12 18:16
mariposastar
Ciao a tutti,
innanzitutto mi scuso se la domanda vi risulterà troppo semplice o addirittura banale ma volevo sapere:
Se ho un vettore di 100 elementi e poi mi chiede di inserire un elemento in posizione i e di scalare tutti gli altri come fareste?
Grazie per l'aiuto
aaa
12/07/12 18:25
nessuno
Con un semplice ciclo for ...

Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
12/07/12 18:35
mariposastar
Avevo iniziato a scrivere qualcosa devo fare due cicli uno per copiare gli elementi fino ad i,poi devo aggiungere il valore in posizione i e successivamente copiare i restanti elementi di V in un vettore W di 101 elementi giusto?
aaa
12/07/12 18:38
nessuno
Per fare quello che hai detto non servono due cicli ma solo uno

Se l'elemento da inserire non è l'ultimo allora utilizzi il ciclo per spostare in giù tutti gli elementi prima dell'i-esimo e poi inserisci il nuovo valore.

Se scrivi del codice ci ragioniamo
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
12/07/12 18:49
mariposastar
Ci saranno di sicuro tantissimi errori sono una principiante :(

void aggiungi_el (int V[],int W[],int N,int *pos, int *a)

int i,j=0;
for (i=0,i< *pos,i++)
{
W[j]=V[i];
j++; 
}
W[*pos]=*a;
j++;
for (i=*pos,i< N,i++)
for (j=j, j<N+1,j++)
{
W[j]=V[i];

}
Ultima modifica effettuata da HeDo 13/07/12 8:16
aaa
12/07/12 19:20
nessuno
Il prototipo è indicato dall'esercizio? Perché passi pos e a per puntatore?

P.S. Usa i tag CODE per il codice oppure usa l'indice k al posto di i
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
12/07/12 19:24
mariposastar
No l'ho inventato io... ho pensato di mettere i puntatori in modo che magari con altre funzioni inserisco la posizione in cui voglio inserire il nuovo elemento a...è sbagliato? oppure potrei togliere il puntatore e inserire nella stessa funzione un input per pos e a...
aaa
12/07/12 20:32
nessuno
Allora direi che basta qualcosa di simile

void aggiungi_el (int V[], int N, int pos, int a) 
{
	int k;

	if(pos<N-1)
		for(k=N-2; k>=pos; k--)
			V[k+1]=V[k];

	V[pos]=a;
}
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.