Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - kuni2006

#1
Yo hice la siguiente funcion:


int comparar(int vector1[], int n1, int vector2[], int n2)
{
    int i;
    if (n1 == 0 && n2 != 0)
        {
        return -1;
        }
    if  (n2 == 0 && n1 != 0)
        {
        return 1;
        }
    for(i=0;i<n1||i<n2;i++)
        {
        if(vector1[i]<vector2[i])
            {
            return -1;
            }
        if(vector1[i]>vector2[i])
            {
            return 1;
            }
        if(vector1[i]==vector2[i]&&n1==n2)
            {
            return 0;
            }
        }
    return 0;
}


y me devuelve el siguiente error varias veces:

==22== Conditional jump or move depends on uninitialised value(s)
==22==    at 0x400738: comparar (tp0.c:67)
==22==    by 0x400DEB: prueba_comparar (tp0_pruebas.c:80)
==22==    by 0x400558: main (tp0_pruebas.c:147)
==22==  Uninitialised value was created by a stack allocation
==22==    at 0x400B20: prueba_comparar (tp0_pruebas.c:48

Si alguien me pudiera dar una mano, estaria muy agradecido.
#2
Programación C/C++ / Re: Ayuda con error
26 Agosto 2016, 14:52 PM
Jaja que error boludo, siempren necesitan main los programas? Soy principiante, por eso pregunto.
#3
Programación C/C++ / Ayuda con error
26 Agosto 2016, 14:06 PM
Buenas gente, me pidieron programar las siguientes funciones

#include "tp0.h"
#include <stdio.h>

void swap (int* x, int* y)
{
    int z;

    z = *x;
    *x = *y;
    *y = z;

}

int maximo(int vector[], int n)
{
    int i, mayor = 0, pos;

    if(n==1)

    for(i=0;i<n;i++)
        {
        if(vector[i]>mayor)
                {
                mayor = vector[i];
                pos = i;
                }
        }

    return pos;

}

int comparar(int vector1[], int n1, int vector2[], int n2)
{
    int i;
    for(i=0;i<n1||i<n2;i++)
        {
        if(vector1[i]<vector2[i])
            {
            return -1;
            }
        else
            {
            if(vector1[i]>vector2[i])
                {
                return 1;
                }
            else
                {
                if(vector1[i]==vector2[i]&&n1==n2)
                    {
                    return 0;
                    }
                }
            }
        }
}

void seleccion(int vector[], int n)
{
    int i, j, k = 0;
    for (i = 0; i < (n - 1); i++)
        {
        for (j = i + 1; j < n; j++)
            {
            if (vector[j] < vector[i])
                {
                k = vector[j];
                vector[j] = vector[i];
                vector[i] = k;
                }
            }
        }
}


Pero al compilar me tira el siguiente error:

/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
Compilation failed.

#4
Programación C/C++ / Problema con feof
9 Agosto 2016, 20:41 PM
Hola yo tengo el siguiente codigo para escrbir en un archivo

{
       if(feof(file1)!=EOF)
       {
       rewind(file1);
       fscanf(file1, "%d", &libre);
       printf("Posicion: %d", libre);
       fseek( file, libre*sizeof(Persona), SEEK_SET );
       }
       else
       {
       fseek( file, 0, SEEK_END );
       }
       fwrite(&persona, sizeof(Persona), 1, file);
       printf("\nPersona guardada!\n");
       pausar();
       fclose(file);
       }


Hasta donde entiendo, si el archivo esta vacio tiene que ir al else pero no lo hace, alguien me puede dar una mano? desde ya gracias
#5
No fue nada, me confundí en una boludez que no veía y me estaba poniendo nervioso, gracias igual.
#6
Otro problema que tengo es que cuando quiero que escriba lo del binario a un archivo me imprime en leguage de maquina, por que podra ser?
#7
Muchas gracias, tu codigo me ayudo a enteder mis errores y pude arreglar mi programa.
#8
Programación C/C++ / Funcion importar de txt
5 Agosto 2016, 20:46 PM
Estoy trabanjo en una funcion que me permita pasar registro de un txt al archivo binario que utiliza mi programa, esto es lo que se me ocurrio hasta ahora pero no parece funcionar, si alguien me pudiera dar una mano, lo apreciaria mucho.

void importar(char* nombreArchivo)
{
    Persona persona;
    FILE* file= fopen("nombres.txt", "rt");
    FILE* file1= fopen(nombreArchivo, "wb");

    while (EOF != fscanf(file, " %u %u %s %[^\n]s", persona.DNI, persona.fnac, persona.apellido, persona.nombres))
    {
        fprintf(file1," %d %d %s %[^\n]s ", persona.DNI, persona.fnac, persona.apellido, persona.nombres);

    }
    fclose;
}
#9
Honestamente fue porque la consigna así lo pedia.
#10
ya lo resolvi pero gracias de todas formas.