elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayúdame en este programa!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayúdame en este programa!!  (Leído 1,519 veces)
MJI

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Ayúdame en este programa!!
« en: 22 Diciembre 2018, 17:12 pm »

Hola, soy bastante novato con el tema del C++, sobre todo a la hora de mezclar ficheros con funciones....

Me gustaría hacer un programa que leyese de fichero una matriz cuadrada, primero el numero de filas, seguido del numero de columnas, y para finalizar que recorra toda la matriz y diga si hay algún elemento repetido.

Mi intento de programa es el siguiente:


#include <iostream>
#include <fstream>
#include <string>

using namespace std;

const int MAX1 = 10;
const int MAX2 = 10;

typedef int Matriz[MAX1][MAX2];

void Presentacion(void);
bool LeerFilyCol(ifstream& f);
int SacarFilyCol(ifstream& f);
int ElementosVector(ifstream& f);
void GuardarVector(ifstream& f, int totalnums, Matriz m);
bool ElemRepVec(Matriz m, int totalnums);

int main(void)
{
    bool FilyCol, Rep;
    int totalnums, filcol;
    Matriz m1;
    ifstream f;
    string nomf;
   
    Presentacion();
   
    cout << "Dame fichero con matriz: ";
    cin >> nomf;
    cout << endl;
   
    f.open(nomf);
   
    if(!f)
        cout << "Error al abrir el archivo" << endl;
    else
    {
        FilyCol = LeerFilyCol(f);
 
        if(FilyCol == false)
        {
            cout << "La matriz no cumple las condiciones" << endl;   
        }
        else
        {
            totalnums = ElementosVector(f);
            filcol = SacarFilyCol(f);
           
            totalnums = totalnums / filcol;
           
            GuardarVector(f, totalnums, m1);
            ElemRepVec(m1, totalnums);
       
            if(Rep == false)
                cout << "NO hay numeros repetidos en la matriz" << endl;
            if(Rep == true)
                cout << "Hay numeros repetidos en la matriz" << endl;
        }
    }
   
    f.close();
    return 0;
}



void Presentacion(void)
{
    cout << "Este programa determina si existe...." << endl << endl;
    return;
}

bool LeerFilyCol(ifstream& f)
{
    bool trueofalse;
    int fil, col;
   
    f >> fil >> col;
    if (fil != col || fil > MAX1 || col > MAX2)
        trueofalse = false;
    else
        trueofalse = true;
   
    return trueofalse;
}

int ElementosVector(ifstream& f)
{
    int num;
    int numdenums = 0;
    int ignorar;
   
    f >> ignorar >> ignorar;
   
    while(f >> num)
        numdenums++;
       
    return numdenums;
}

int SacarFilyCol(ifstream& f)
{
    int filcol;
   
    f >> filcol;
   
    return filcol;
}

void GuardarVector(ifstream& f, int totalnums, Matriz m)
{
    int num, i, j, ignorar;
   
    f >> ignorar >> ignorar;
   
    for (i = 0; i < totalnums; i++)
    {
        for (j = 0; j < totalnums; j++)
        {
            f >> num;
            m[j] = num;
        }
    }
    return;
}

bool ElemRepVec(Matriz m, int totalnums)
{
    int i, j, f, c;
    bool rep = false;
   
    for (f = 0; f < totalnums; f++)
    {
        for (c = 0; c < totalnums; c++)
        {
            for (i = 0; i < totalnums; i++)
            {
                for (j = 0; j < totalnums; j++)
                {
                    if (m[f][c] == m[j] && (f != i) && (c != j))
                        rep = true;
                }
            }     
        }
    }
   
    return rep;
}

El programa compila y ejecuta perfectamente, pero no hace lo que debería de hacer, alguien sabe como solucionarlo?


En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Ayúdame en este programa!!
« Respuesta #1 en: 22 Diciembre 2018, 20:15 pm »

Asignarle algún valor a la variable Rep


En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
POR FAVOR AYUDAME hacer ESTE PROGRAMA... SI NO M IRE D LA UNI SUSPENDIDO PLEASE..
Programación C/C++
TIBUPAPI 1 2,533 Último mensaje 31 Octubre 2010, 10:49 am
por Akai
Ayudame Con C++
Programación C/C++
R3Z 3 1,954 Último mensaje 22 Abril 2015, 03:42 am
por R3Z
Intentar hacer este programa con este protocolo de comunicación
.NET (C#, VB.NET, ASP)
Meta 0 1,805 Último mensaje 6 Diciembre 2016, 04:12 am
por Meta
Programa C++ Tengo una duda con respecto a este programa. « 1 2 »
Programación C/C++
Estudiante000000 16 5,456 Último mensaje 22 Noviembre 2018, 03:29 am
por Estudiante000000
un problema ayudame a entender del tema
Dudas Generales
alegro 3 1,648 Último mensaje 1 Mayo 2024, 20:48 pm
por alegro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines