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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / 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. }
2  Programación / Programación C/C++ / problema vectores c en: 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:
Código
  1. #include <stdio.h>
  2. #define DIM 30
  3. int main (void){
  4.    int n, enters[DIM], i, j;
  5.    printf("n?\n");
  6.    scanf("%d", &n);
  7.    printf("enters?\n");
  8.    for(i=0; i<n; i++){
  9.        scanf("%d", &enters[i]);
  10.    }
  11.  
  12.    for(i=0; i<n; i++){
  13.        for(j=1; j<=n; j++){
  14.            if("enters[i]==enters[j]"){
  15.                printf("%d\n", enters[i]);
  16.            }
  17.        }
  18.    }
  19.    return 0;
  20. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines