entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

-3votos

ARRAYS y comparaciones en C++

Verán, no tengo idea de C++ sinceramente y no tengo mucho tiempo para solucionar este problema pues mi jefe pensó que era algo que haría en un momentito.

Necesito solicitar mediante un programita al usuario los días que tiene disponibles para realizar una comida de empresa separados por un espacio en blanco. Dichos días supongo que los mejor sería guardarlos en un array.

Luego un segundo usuario metería también sus días disponibles y una vez introducidos diría por pantalla los días coincidentes entre ellos dos o bien que no hay días coincidentes.

Una vez hecho hecho se podría cerrar el programa (preguntando si se ha terminado) o si no se ha terminado porque hay más usuarios pues un tercer usuario metería sus días libres e igualmente sacaría coincidencias entre los ya tres usuarios y así sucesivamente.

Tienen idea de cómo se puede hacer esto?

Disculpad por pedir lo que no se debe pedir pero es que no tengo idea de C++ la verdad.

Con PHP lo haría en un segundo xD

El código que yo hice estructurándome era algo así como

int dias1[31];
int dias2[31];
int coincidencias[31];

preguntar_usuario1 "Dias libres";
por cada vez que pulse espacio introduce en dias[i] el valor. esc para terminar
preguntar_usuario2 "Dias libres";
mismo proceso

luego dos bucles for

for (i=0,i<tamaño(dias1),i++)
    for (u=0, u<tamaño(dias2),u++)
        if (dias[i] == dias[u])
            coincidencia[z] = dias[i];
            z++;
        endif
    next
next

print "Los dias coincidentes son:"
recorrer coincidente y mostrar

El problema que tengo es que no se expresar todo eso en c++ xD

0voto

Peter comentado

Puedes explicar el problema y detalles en el contenido, pero poner ese titulo que no dice absolutamente nada relacionado con el tema...

Por favor intenta describir el problema en el título.

Saludos.

0voto

bl4z3r comentado

Comentario al margen y que, sinceramente, me indigna sea donde fuere que suceda.

Hombre, haz respetar y valorar a la profesión. Es importante que lo hagas por que la imagen de un programador termina siendo esa si sigues aceptando ese tipo de propuestas: una persona altamente capacitada con un suelo de un personal administrativo cuando en realidad tiene que ser mejor pago.

Ademas, tu jefe es lo que peor que hay. Si le planteas que haga tu trabajo, el te va a responder que no sabe hacerlo. Así que tu puedes hacer lo mismo.

1 Respuesta

2votos

MitsuGami Puntos8010

Se supone que eres programador PHP no C++, lo que deberías decirle es eso, no soy programador C++ por más que no entienda nada, dile que es una tecnología muy diferente a la que usas para trabajar.

Anyway como supongo ya aceptaste, no te queda de otra que aprender C++ básico.

Aquí tienes acceso a un curso de C++ básico que te puede servir.

Si tu jefe quiere una aplicación gráfica pues ahí la tienes complicada ya que nunca has usado C++. En este caso usa QT5. Bájate el IDE de QT desde este enlace y construye la interfaz con drag and drop.

1voto

ankeorum comentado

El código que yo hice estructurándome era algo así como

int dias1[31];
int dias2[31];
int coincidencias[31];

preguntar_usuario1 "Dias libres";
por cada vez que pulse espacio introduce en dias[i] el valor. esc para terminar
preguntar_usuario2 "Dias libres";
mismo proceso

luego dos bucles for

for (i=0,i<tamaño(dias1),i++)
    for (u=0, u<tamaño(dias2),u++)
        if (dias[i] == dias[u])
            coincidencia[z] = dias[i];
            z++;
        endif
    next
next

print "Los dias coincidentes son:"
recorrer coincidente y mostrar

El problema que tengo es que no se expresar todo eso en c++ xD

1voto

MitsuGami comentado

Hace millones de años que no toco C++, te dejo un código que es incorrecto, pero te puede ayudar en algo al menos.

class Usuario {

    private: bool[31] diasLibres;

    void agregarDiaLibre(int diaCalendario) {
        diasLibres[diaCalendario] = true;
    }

    bool[] obtenerDiasLibres() {
        return diasLibres;
    }
};

#include <iostream>
#include <string>
#include <sstream>
#include <iterator>

using namespace std;

class Main {
    void main() {
        Usuario usuario1;
        Usuario usuario2;
        int[31] coincidencias;

        string dias;
        string token;

        // entrada de datos
        cout << "Ingrese los días libres del usuario #1 del mes separado por espacios";
        cin >> dias;

        // agrega el string al stream
        istringstream iss(dias);

        // divide el string por espacios y lo itera
        while(getline(iss, token, ' ')) {
            int number;
            number = stoi(token.c_str());
            usuario1::agregarDiaLibre(number);
        }

        dias = ""; // restablece la variable dias
        token = ""; // restablece la variable token

        // entrada de datos
        cout << "Ingrese los días libres del usuario #2 del mes separado por espacios";
        cin >> dias;

        // agrega el string al stream
        istringstream iss(dias);

        // divide la cadena por espacios y la itera
        while(getline(iss, token, ' ')) {
            int number;
            number = stoi(token.c_str());
            usuario2::agregarDiaLibre(number);
        }

        // evaluamos coincidencias
        bool[] diasLibresU1 = usuario1.obtenerDiasLibres();
        bool[] diasLibresU2 = usuario2.obtenerDiasLibres();

        for(int i=0; i<diasLibresU1.length; i++) {
            for(int k=0; k<diasLibresU2.length; k++) {
                if(diasLibresU1[i] == diasLibresU2[k]) {
                    coincidencias[(i+1)] = diasLibresU1[i];
                }
            }
        }

        cout << "Coincidencias de días libres entre usuarios:\n"
        // recorres las coincidencias
        for(int i=0; i<coincidencias.length; i++) {
            cout << i << ", ";
        }

        getch();
    }
}

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta