Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: jonathan1099 en 19 Octubre 2016, 04:29 am



Título: ayuda programa en c
Publicado por: jonathan1099 en 19 Octubre 2016, 04:29 am
hola.
tengo una duda y no se como solucionarla xD, lo que pasa es que debo hacer un programa que me lea 1 letra luego otra y asi hasta llegar a 20 y me las organice e imprima eso ya lo pude hacer.
el problema es que debo leer  e imprimir a la vez si leo A Iimprimo A  la segunda vez leo J debe imprimir J A la tercera F debe imprimir F J A y asi sucesivamente ...

esto es lo que tengo
#include<stdio.h>
#include <string.h>
char vect[1],vect2[20];
int i,j,,aux;
main(){
aux=0;   
   for( i=0;i<20;i++){
   printf("ingrese letra  %d : ",i+1);
    scanf("%c",&vect);
   _flushall();
    printf("%c",vect);
   
}


   for ( i=0;i<20;i++){
     for( j=i+1;j<20;j++){
      if (vect[j]<vect){      
            aux=vect;
            vect=vect[j];
            vect[j]=aux;
     }
   }
  }
  for(i=0;i<20;i++){
      printf("\n%c",vect);
   }
}


ayuda..


Título: Re: ayuda programa en c
Publicado por: palacio29 en 21 Octubre 2016, 05:56 am
Te voy a decir los cambios que haria yo , porque hay algunas cosas que no las se como x ejemplo  flusha, nunca lo use.

1) En el primer for cuando estas cargando los datos del arreglo yo pediria la letra y haria letra=getche(); en vez de usar el scanf y entonces cuando lo queres guardar quedaria

Código
  1. for(i=0;i<20;i++)
  2. {
  3. printf("Ingrese letra");
  4. letra=getche();
  5. vect[i]=letra;
  6. }

Porque yo estoy viendo que lo queres guardar, pero no le pones en que posicion especifica lo queres guardar.

2) En el segundo for que es el ordenamiento o burbujeo en esta linea

Código
  1. if (vect[j]<vect){  

Te falta agregar los corchetes al otro

Quedaria

Código
  1. if (vect[j]<vect[i]){  

Y asi con el resto del for.

3) En el ultimo for, tambien te falta los corchetes, porque vos queres que imprima una letra pero le estas pasando todo el arreglo tenes que poner vect, sino no te sirve para nada hacer un for hasta 20.