Dev - C++ - Implementar la función Rotar()

 
Vista:
Imágen de perfil de Camila
Val: 17
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Implementar la función Rotar()

Publicado por Camila (7 intervenciones) el 22/01/2020 23:15:00
Implementar la función Rotar() en un programa en C++ que permita rotar en un
arreglo de cinco elementos ingresados por el usuario, de tal manera que cada
elemento pasa a la posición anterior y el primer elemento a la última posición,
así por ejemplo, dado el siguiente arreglo: A={1, 2, 3, 4, 5}
Conseguir que se impriman las secuencias de rotación:
{1, 2, 3, 4, 5}
{2, 3, 4, 5, 1}
{3, 4, 5, 1, 2}
{4, 5, 1, 2, 3}
{5, 1, 2, 3, 4}
El programa debe incluir
1.- Estructura para los datos
2.- La función de rotación en una biblioteca de nombre rotación.h
3.- La impresión de la secuencia de rotación en una archivo de nombre
rotación.txt
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Implementar la función Rotar()

Publicado por Thanatos (199 intervenciones) el 23/01/2020 04:28:39
Archivo: rotacion.h
1
2
3
4
5
6
7
8
9
10
11
12
#ifndef ROTACION_H
#define ROTACION_H
 
#include <cstddef>  // std::size_t
#include <string>
 
void rotar(int numeros[], const std::size_t size);
void imprimirRotaciones(int numeros[],
                        const std::size_t size,
                        const std::string &archivo);
 
#endif  // ROTACION_H

Archivo: rotacion.cpp
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
#include "rotacion.h"
#include <fstream>     // std::ofstream
 
void rotar(int numeros[], const std::size_t size) {
    int inicio = numeros[0];
 
    for (std::size_t i = 0; i < size - 1U; ++i) {
        numeros[i] = numeros[i + 1U];
    }
 
    numeros[size - 1U] = inicio;
}
 
void imprimirRotaciones(int numeros[],
                        const std::size_t size,
                        const std::string &archivo) {
    std::ofstream ofs(archivo.c_str());
 
    for (std::size_t rotacion = 0; rotacion < size; ++rotacion) {
        ofs << "{ ";
        for (std::size_t i = 0; i < size; ++i) {
            ofs << numeros[i];
 
            if (i < size - 1U) {
                ofs << ", ";
            }
        }
        ofs << " }\n";
 
        rotar(numeros, size);
    }
}

Archivo: main.cpp
1
2
3
4
5
6
7
8
9
#include "rotacion.h"
 
int main() {
    int A[5] = { 1, 2, 3, 4, 5 };
 
    imprimirRotaciones(A, 5, "rotacion.txt");
 
    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
-1
Comentar
Imágen de perfil de Camila
Val: 17
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Implementar la función Rotar()

Publicado por Camila (7 intervenciones) el 23/01/2020 16:53:23
Disculpa por que me sale error cuando lo copilo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Implementar la función Rotar()

Publicado por Thanatos (199 intervenciones) el 23/01/2020 21:12:21
Posiblemente no has agregado correctamente los archivos al proyecto. Si el compilador no encuentra alguno de los archivos mostrará un mensaje de error.

Si estás usando Dev-C++, puedes crear el proyecto de esta manera:

1. Crea la carpeta donde se almacenarán todos los archivos, en este caso podrías llamarla Rotaciones.

2. Usa el menú de Dev-C++, abre el asistente para la creación de proyectos.

02


3. En la ventana Nuevo Proyecto, selecciona Console Application, ponle un nombre al nuevo proyecto de C++ y presiona en Aceptar.

03


4. Lo anterior abrirá una ventana para seleccionar dónde se guardará el archivo de proyecto, guárdalo en la carpeta que creaste al principio.

04


5. Ahora deberías tener abierto el proyecto Rotaciones, que ya tiene incluido un archivo main.cpp, con algo de código.

05


6. Necesitas agregar al proyecto otros dos archivos, para hacerlo, haz click derecho sobre el nombre del proyecto en el árbol de archivos de Dev-C++, selecciona New File. Haz esto dos veces para agregar los dos archivos que faltan.

06


7. Ahora el árbol de archivos debería verse así:

07


8. Para cambiar el nombre de un archivo, haz click derecho sobre el archivo y selecciona la opción Renombrar Archivo.

08


9. En la siguiente ventana escribe el nuevo nombre del archivo: rotacion.cpp.

09


10. Sigue los pasos del punto 8 y 9 para renombrar el archivo restante: rotacion.h. Tu archivos deberían quedar así:

10


11. Copia el código que puse en mi respuesta anterior, en los archivos correspondientes. Guarda los cambios y asegúrate de que todos los archivos queden guardados en la carpeta del proyecto.

Compila y ejecuta el proyecto de la misma manera que se hace con los archivos individuales. El programa creará el archivo rotaciones.txt en la carpeta del proyecto y no mostrará ninguna salida en la consola.

Cuando necesites volver a abrir un proyecto que ya tenías hecho, en lugar de abrir los archivos de código individualmente, abre el archivo con extensión .dev desde el menú: Archivo --> Abrir Proyecto o Archivo.
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 Camila
Val: 17
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Implementar la función Rotar()

Publicado por Camila (7 intervenciones) el 25/01/2020 03:02:50
Ahora tengo un problema me copila bien sin nada de errores pero no me ejecuta lo que me pide
Me sale así

Sin-titulo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Implementar la función Rotar()

Publicado por Thanatos (199 intervenciones) el 25/01/2020 16:13:01
Sólo necesitas modificar el código del archivo main.cpp para solicitar los números al usuario y para cambiar la ruta donde se creará el archivo rotacion.txt. Por ejemplo:

Archivo: main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "rotacion.h"
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    const string kRutaArchivo = "C:/Users/Thanatos/Desktop/rotacion.txt";
    const int kMax = 5;
    int numeros[kMax] = { };
 
    cout << "Ingrese " << kMax << " numeros:\n";
    for (int i = 0; i < kMax; ++i) {
        cout << '#' << i + 1 << " = ";
        cin >> numeros[i];
    }
 
    imprimirRotaciones(numeros, kMax, kRutaArchivo);
 
    return 0;
}

Cambia la ruta al lugar donde quieras que se cree el archivo rotacion.txt, en el ejemplo hice que se creara en el escritorio de mi computadora. Si en lugar de escribir una ruta completa sólo usas el nombre del archivo (como hice en mi primera respuesta), el archivo se creará dentro de la carpeta del proyecto.

También puedes cambiar la cantidad de números, modificando el valor de kMax.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 4
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Implementar la función Rotar()

Publicado por Adrian (1 intervención) el 25/01/2020 23:37:38
Disculpen una duda yo ya hice todos los pasos pero al ejecutar el programa me pide los datos que tiene que ingresar el usuario pero no me imprime la respuesta
program1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Implementar la función Rotar()

Publicado por Thanatos (199 intervenciones) el 26/01/2020 00:40:03
En el último punto, el ejercicio indica que la impresión de las secuencias de rotación se debe hacer en un archivo de texto (rotacion.txt), no en la pantalla. Ese es el motivo por el que puse una variable para almacenar la ruta donde debe crearse el archivo.

Sólo ejecuta el programa, ingresa los números y luego abre el archivo de texto que se habrá generado, dentro de ese archivo estarán las rotaciones de los números. No olvides reemplazar la ruta del archivo por una ruta que exista en tu computadora, antes de ejecutar el programa. Si prefieres que el archivo se cree dentro de la carpeta del proyecto, cambia la ruta de esta forma:

1
const string kRutaArchivo = "rotacion.txt";
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