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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  intercambio componentes vector
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: intercambio componentes vector  (Leído 2,239 veces)
nilcosta

Desconectado Desconectado

Mensajes: 5


Ver Perfil
intercambio componentes vector
« en: 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:

Código
  1. if(sumX>sumY){/*quan el sumatori del segon vecotr es menor que el del primer, fem un intercanvi*/
  2.        for(i=0; i<n; i++){
  3.            aux[i]=x[i];
  4.            x[i]=y[i];
  5.            y[i]=aux[i];
  6.        }
  7.    }

prograama completo

Código
  1. /*demana les components de dos vectors, comprova si son diferents, si son diferents els ordena segons la definició*/
  2. #include <stdio.h>
  3. #define DIM 10
  4. int main (void){
  5.    int n, x[DIM], y[DIM], aux[DIM], sumX=0, sumY=0, i, iguals=0;
  6.  
  7.    printf("n?\n");
  8.    scanf("%d", &n);
  9.    while(n>10){
  10.        printf("n ha de ser menor o igual que 10\n");
  11.        scanf("%d", &n);
  12.    }
  13.    printf("doneu les componens del vector X\n");
  14.    for(i=0; i<n; i++){
  15.        scanf("%d", &x[i]);
  16.    }
  17.    printf("doneu les componens del vector Y\n");
  18.    for(i=0; i<n; i++){
  19.        scanf("%d", &y[i]);
  20.    }
  21.  
  22.    for(i=0; i<n; i++){/*mirem si els vecotors son iguals*/
  23.        if(x[i]!=y[i]){
  24.            iguals++;
  25.        }
  26.    }
  27.    if(iguals==0){
  28.        printf("els vecotrs son iguals\n");
  29.        return 1;
  30.    }
  31.  
  32.    for(i=0; i<n; i++){
  33.        sumX+=x[i]*x[i];
  34.        sumY+=y[i]*y[i];
  35.    }
  36.  
  37.    if(sumX>sumY){/*quan el sumatori del segon vecotr es menor que el del primer, fem un intercanvi*/
  38.        for(i=0; i<n; i++){
  39.            aux[i]=x[i];
  40.            x[i]=y[i];
  41.            y[i]=aux[i];
  42.        }
  43.    }
  44.  
  45.    if(sumX<sumY){
  46.        printf("Son dos vectors diferents i (");
  47.        for(i=0; i<n-1; i++){
  48.            printf("%d, ", x[i]);
  49.        }
  50.        printf("%d) << (", x[i]);
  51.        for(i=0; i<n-1; i++){
  52.            printf("%d, ", y[i]);
  53.        }
  54.        printf("%d)", y[i]);
  55.    }
  56.  
  57.    if(sumX==sumY){/*en aquest cas el sumatori es igual*/
  58.        for(i=0; i<n; i++){
  59.            if(x[i]<y[i]){
  60.                printf("Son dos vectors diferents i ");
  61.                printf("(");
  62.                for(i=0; i<n-1; i++){
  63.                    printf("%d, ", x[i]);
  64.                }
  65.                printf("%d) << (", x[i]);
  66.                for(i=0; i<n-1; i++){
  67.                    printf("%d, ", y[i]);
  68.                }
  69.                printf("%d)", y[i]);
  70.                return 1;
  71.            }
  72.  
  73.            if(x[i]>y[i]){
  74.                for(i=0; i<n; i++){
  75.                aux[i]=x[i];
  76.                x[i]=y[i];
  77.                y[i]=aux[i];
  78.                printf("Son dos vectors diferents i ");
  79.                printf("(");
  80.                for(i=0; i<n-1; i++){
  81.                    printf("%d, ", x[i]);
  82.                }
  83.                printf("%d) << (", x[i]);
  84.                for(i=0; i<n-1; i++){
  85.                    printf("%d, ", y[i]);
  86.                }
  87.                printf("%d)", y[i]);
  88.                return 1;
  89.                }
  90.            }
  91.        }
  92.    }
  93.        return 0;
  94. }


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: intercambio componentes vector
« Respuesta #1 en: 27 Noviembre 2016, 21:19 pm »

intentaste seguir el intercambio con el dubbuger y colocando breakpoints?


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
nilcosta

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: intercambio componentes vector
« Respuesta #2 en: 27 Noviembre 2016, 22:25 pm »

si, lo he intentado y sigue sin hacerlo correctamente :(
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: intercambio componentes vector
« Respuesta #3 en: 27 Noviembre 2016, 22:33 pm »

si, lo he intentado y sigue sin hacerlo correctamente :(

XD eso es un "no, no lo he intentado" el debugger no arregla los errores solo... el hecho no arregla errores, quien los arregla eres tu, el debugger es simplemente un visualizador del programa XD y si lo usas, podrías ver el porqué falla

que ide usas y que haces al activar el debugger?
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
nilcosta

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: intercambio componentes vector
« Respuesta #4 en: 27 Noviembre 2016, 22:40 pm »

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.

« Última modificación: 27 Noviembre 2016, 22:51 pm por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: intercambio componentes vector
« Respuesta #5 en: 27 Noviembre 2016, 22:52 pm »

aprende a usarlo bien, ya que es una de las herramientas más potentes de programación... ver que hace tu programa por dentro
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dividir un Vector<objetoQueQuieras> en un array de vectores de n componentes
Java
rixi15 2 8,189 Último mensaje 2 Noviembre 2012, 13:26 pm
por rixi15
Actualizar componentes? Repintar componenteS??
Java
ChicoTolerante 2 2,381 Último mensaje 27 Febrero 2013, 10:54 am
por ChicoTolerante
montando PC por componentes. Consulta componentes
Hardware
antoniolr13 4 2,460 Último mensaje 28 Mayo 2015, 10:37 am
por Hurdano
Vector Java Intercambio de dos elementos
Java
Lizzy021 3 4,015 Último mensaje 6 Septiembre 2015, 16:57 pm
por Eleкtro
MOVIDO: Vector Java Intercambio de dos elementos
Programación General
Eleкtro 0 1,581 Último mensaje 6 Septiembre 2015, 16:56 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines