Dev - C++ - La ultima posición del vector pase a ser la primera

 
Vista:
sin imagen de perfil
Val: 34
Ha disminuido su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

La ultima posición del vector pase a ser la primera

Publicado por Pauk (20 intervenciones) el 12/11/2019 06:41:03
Hola tengo el siguiente problema, tengo mi vector de tamaño "tam" y quiero girarlo "N" veces, con girarlo me refiero a que la ultima posición del vector pase a ser la primera tengo la mayoría del código pero no se como hacerlo girar, si me pudieran ayudar por favor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
using namespace std;
 
int main(){
 
int tam, i, N;
 
 
cout<<"numero de casillas ";
cin>>tam;
 
cout<<"numero de giros ";
cin>>N;
 
 
int arr [tam];
 
cout<<"valores internos ";
for (i=0; i<tam; i++){
    cin>>arr[i];
}
 
for (i=0; i<tam; i++){
	cout<<arr[i];
}
 
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

La ultima posición del vector pase a ser la primera

Publicado por Alfil (1444 intervenciones) el 12/11/2019 08:43:50
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
 
using namespace std;
 
int main(){
 
    int sz, n;
 
    cout << "\nNumero de casillas: ";
    cin >> sz;
 
    cout << "Numero de giros: ";
    cin >> n;
 
    int arr[sz];
    int temp[sz];
 
    cout << "\nValores internos:\n";
    for( int i = 0; i < sz; i++ )
        cin >> arr[i];
 
    cout << "\nArray:   ";
    for( int i = 0; i < sz; i++ )
        cout << arr[i] << " ";
 
    cout << endl;
 
    for( int i = 1; i <= n; i++ ) {
        cout << "\nGiro " << i << " : ";
        temp[0] = arr[sz-1];
        cout << temp[0] << " ";
        for( int j = 0 ; j < sz-1; j++ ) {
            temp[j+1] = arr[j];
            cout << temp[j+1] << " ";
        }
        for( int k = 0; k < sz; k ++ ) arr[k] = temp[k];
    }
 
    cout << endl;
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 34
Ha disminuido su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

La ultima posición del vector pase a ser la primera

Publicado por Pauk (20 intervenciones) el 13/11/2019 01:16:24
Y si solo quisiera imprimir el ultimo giro como le haría?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

La ultima posición del vector pase a ser la primera

Publicado por Alfil (1444 intervenciones) el 13/11/2019 07:37:48
Eliminar las líneas 29, 31 y 34 e imprimir los valores almacenados en temp (en la línea 38):

1
for( int i = 0; i < sz; i++ ) cout << temp[i] << " ";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar