Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/03/2015, 09:28
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Rotar arreglo a la derecha

Aritmética modular + nuevo arreglo.

Código C:
Ver original
  1. #include <stdio.h>
  2. #define N 10
  3.  
  4. int main() {
  5.     int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
  6.     int arr2[N];
  7.     int i;
  8.  
  9.     for(i = 0; i < N; i++) printf("%d ", arr[i]);
  10.     printf("\n");
  11.  
  12.     for(i = 0; i < N; i++) arr2[i] = arr[(N+i-1)%N];
  13.  
  14.     for(i = 0; i < N; i++) printf("%d ", arr2[i]);
  15.     printf("\n");
  16.  
  17.     return 0;
  18. }

Con esto puedes generalizar mover a la izquierda o derecha n posiciones.