[C con Clase] Ayuda con un programa en C!

Yolmer Rosales yolmer.rosales en gmail.com
Jue Abr 14 03:01:00 CEST 2016


oye ejecuté tu programa y no borra el cero de cualquier manera no veo un
algoritmo de ordenar
arriba dice que ordena y elimina repetidos tal vez el algoritmo de ordenar
es el que te elimina el cero


El 13 de abril de 2016, 10:28, Ali Rincon <alrincon1963 en hotmail.com>
escribió:

> El siguiente programa elimina las filas repetidas y ordena un vector de
> 1fila X nColumnas. El problema que tengo es que el programa no funciona
> cuando se introduce una componente nula, es decir, cero. Por ejemplo,
> vector1=[1,0,1,6,8] lo ordena como vector3=[1,6,8]. El programa se "come"
> la componente cero y no se por que lo hace asi. Alguien pudiera ayudarme a
> ver por que lo hace asi y como se puede solucionar??
>
> Altamente agradecido,
>
> Ali Rincon
>
>
> #include <stdio.h>
> #include <stdlib.h>
>
> /**ordenarvector**/
>
> /**Programa que dado un vector de N-columnas elimina elementos repetidos y
> ordena el vector en orden ascendente**/
>
>
> int main()
> {
>     int i,j,k,m,nC,num,cont,repetidos;
>     int *vector1;
>     int *vector2;
>     int *vector3;
>     char c;
>
>     /**Introduccion del numero de columnas del vector1**/
>
>     printf("Introduzca el numero de columnas del vector1: ");
>     scanf("%d", &nC);
>     printf("\n");
>
>     while((c=getchar()) != '\n' && c != EOF);
>
>     /**Reserva dinamica de memoria para el vector1[i]**/
>
>     vector1=(int *)malloc(nC * sizeof(int *));
>
>     if(vector1== NULL)
>     {
>         printf("Error de memoria\n");
>         exit(-1);
>     }
>
>    /**Introduccion de los valores del vector**/
>
>     for(i=0; i<nC; i++)
>     {
>         printf("Introduzca las componentes del vector1[%d]: ",i+1);
>         scanf("%d", &vector1[i]);
>         printf("\n");
>     }
>
>     /**Visualizar el vector**/
>
>     printf("vector1 = ");
>     for(i=0; i<nC; i++)
>     {
>         printf("%d ",vector1[i]);
>     }
>     printf("\n\n");
>
>     /**Reserva dinamica de memoria para el vector2[i]**/
>
>     vector2=(int *)malloc(nC * sizeof(int *));
>
>     if(vector2== NULL)
>     {
>         printf("Error de memoria\n");
>         exit(-1);
>     }
>
>     /**Reserva dinamica de memoria para el vector3[i]**/
>
>     vector3=(int *)malloc(nC * sizeof(int *));
>
>     if(vector3== NULL)
>     {
>         printf("Error de memoria\n");
>         exit(-1);
>     }
>
>     /**Eliminacion de las componentes repetidas en el vector1**/
>
>     j=0;
>     m=0;
>     repetidos=0;
>     for(i=0; i<nC; i++)
>     {
>         cont=0;
>         num=vector1[i];
>         vector2[j]=num;
>         for(k=0; k<nC; k++)
>         {
>             if(vector2[k]==num)
>             {
>                 cont++;
>             }
>         }
>         if(cont==1)
>         {
>             vector3[m]=num;
>             m++;
>         }
>         else
>         {
>             repetidos++;
>         }
>         j++;
>     }
>
>     printf("La cantidad de elementos repetidos son: %d",repetidos);
>     printf("\n");
>     printf("El vectorfinal tendra %d elementos",nC-repetidos);
>     printf("\n\n");
>
>     /**Visualizar el vector3**/
>
>     printf("vector3 = ");
>     for(i=0; i<nC-repetidos; i++)
>     {
>         printf("%d ",vector3[i]);
>     }
>     printf("\n\n");
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20160413/263e8714/attachment.html>


Más información sobre la lista de distribución Cconclase