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 - nilcosta

#1
XD esque no me ubico muy bien en esto de la programacion, en el codeblocks he usado la opción debugger pero no lo entiendo mucho
ya lo he solucionado, el error es un tema de el for y de if, gracias, y gracias por haber dicho lo de el debugger, ahora ya conozco una nueva herramienta.

#2
si, lo he intentado y sigue sin hacerlo correctamente :(
#3
Programación C/C++ / intercambio componentes vector
27 Noviembre 2016, 20:43 PM
buenas, estoy haciendo un ejercicio y no me sale del todo bien

creo que el error esta cuando hago el intercambio de las componentes del vector, parece que esta bien, pero al imprimir el vector, la primera componente no se cambia:

como hago el intercambio:

if(sumX>sumY){/*quan el sumatori del segon vecotr es menor que el del primer, fem un intercanvi*/
        for(i=0; i<n; i++){
            aux[i]=x[i];
            x[i]=y[i];
            y[i]=aux[i];
        }
    }


prograama completo

/*demana les components de dos vectors, comprova si son diferents, si son diferents els ordena segons la definició*/
#include <stdio.h>
#define DIM 10
int main (void){
    int n, x[DIM], y[DIM], aux[DIM], sumX=0, sumY=0, i, iguals=0;

    printf("n?\n");
    scanf("%d", &n);
    while(n>10){
        printf("n ha de ser menor o igual que 10\n");
        scanf("%d", &n);
    }
    printf("doneu les componens del vector X\n");
    for(i=0; i<n; i++){
        scanf("%d", &x[i]);
    }
    printf("doneu les componens del vector Y\n");
    for(i=0; i<n; i++){
        scanf("%d", &y[i]);
    }

    for(i=0; i<n; i++){/*mirem si els vecotors son iguals*/
        if(x[i]!=y[i]){
            iguals++;
        }
    }
    if(iguals==0){
        printf("els vecotrs son iguals\n");
        return 1;
    }

    for(i=0; i<n; i++){
        sumX+=x[i]*x[i];
        sumY+=y[i]*y[i];
    }

    if(sumX>sumY){/*quan el sumatori del segon vecotr es menor que el del primer, fem un intercanvi*/
        for(i=0; i<n; i++){
            aux[i]=x[i];
            x[i]=y[i];
            y[i]=aux[i];
        }
    }
   
    if(sumX<sumY){
        printf("Son dos vectors diferents i (");
        for(i=0; i<n-1; i++){
            printf("%d, ", x[i]);
        }
        printf("%d) << (", x[i]);
        for(i=0; i<n-1; i++){
            printf("%d, ", y[i]);
        }
        printf("%d)", y[i]);
    }

    if(sumX==sumY){/*en aquest cas el sumatori es igual*/
        for(i=0; i<n; i++){
            if(x[i]<y[i]){
                printf("Son dos vectors diferents i ");
                printf("(");
                for(i=0; i<n-1; i++){
                    printf("%d, ", x[i]);
                }
                printf("%d) << (", x[i]);
                for(i=0; i<n-1; i++){
                    printf("%d, ", y[i]);
                }
                printf("%d)", y[i]);
                return 1;
            }

            if(x[i]>y[i]){
                for(i=0; i<n; i++){
                aux[i]=x[i];
                x[i]=y[i];
                y[i]=aux[i];
                printf("Son dos vectors diferents i ");
                printf("(");
                for(i=0; i<n-1; i++){
                    printf("%d, ", x[i]);
                }
                printf("%d) << (", x[i]);
                for(i=0; i<n-1; i++){
                    printf("%d, ", y[i]);
                }
                printf("%d)", y[i]);
                return 1;
                }
            }
        }
    }
        return 0;
}
#4
Programación C/C++ / Re: problema vectores c
27 Noviembre 2016, 20:11 PM
gracias a los dos, problema resuelto
#5
Programación C/C++ / problema vectores c
27 Noviembre 2016, 03:33 AM
Buenas, me presento en el foro por primera vez, espero poder aportar y que me podáis ayudar. tengo un problema: hacer un programa que lee un entero n y una secuencia de n enteros y escribe los que están repetidos. he escrito el siguiente código pero no me funciona:
#include <stdio.h>
#define DIM 30
int main (void){
    int n, enters[DIM], i, j;
    printf("n?\n");
    scanf("%d", &n);
    printf("enters?\n");
    for(i=0; i<n; i++){
        scanf("%d", &enters[i]);
    }

    for(i=0; i<n; i++){
        for(j=1; j<=n; j++){
            if("enters[i]==enters[j]"){
                printf("%d\n", enters[i]);
            }
        }
    }
    return 0;
}