Buenas! sabeis como pued hacer para representar un vector de numeros enteros alreves?? (ejem: 1,2,3,4,5->5,4,3,2,1)
y tambien como puedo hacer que ese vector se desplace una posicion hacia la derecha? (ejem: 1,2,3,4,5 -> 2,3,4,5,1)
en el codigo.. (los numeros los puedes introducir tu por teclado)
#include<stdio.h> int main() { int vector[5]; int i; i=0; printf("introduce los numeros\n"); for(i=0;i<5;i++){ printf("escribe [%d]\n",i); scanf("%d",&vector[i]); } printf("al reves\n"); //??? printf("si desplazamos el vector a la derecha quedara:\n"); //??? }
tiene que ser una tonteria, pero esque ahroa mismo no me sale, no estoy inspirado xD
Saludos y gracias!
Para mostrarlos al revés, usa
Para mostrarlos al revés, usa una cuenta hacia atrás (un for inverso al que usaste para introducir los datos al vector).
Mostrarlos corridos es sencillo también: con un for que inicie en 1, imprimes del elemento 1 del vector en adelante. Después, fuera del for, imprime manualmente el elemento 0 del vector y ya está.
Gracias! pero el de ponerlos
Gracias! pero el de ponerlos alreves por que no me imprime nada
que me falla? xD
error
En la condición del segundo for, has puesto i<0 en lugar de i>=0, por lo que nunca entra.
Lo de desplazarlo, no es que esté mal, pero hay otra forma más genérica de hacerlo:
Así lo puedes desplazar 1 vez, 2, 3 o las que quieras. Si pones comienzo=4, será como si lo hubieses desplazado hacia el otro lado. ;)
Saludos.
Dennis Ritchie. Padre de C y cocreador de UNIX.
R.I.P.