Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ordenar un arreglo de caracteres (Por favor ayudenme)

Estas en el tema de Ordenar un arreglo de caracteres (Por favor ayudenme) en el foro de C/C++ en Foros del Web. Hola a tod@s, soy nueva aqui en el foro y estoy en mi primer semestre en la carrera de Ingenieria en Sistemas Computacionales ("ISC"), nunca ...
  #1 (permalink)  
Antiguo 28/09/2008, 11:49
Avatar de EmperatrizSL  
Fecha de Ingreso: septiembre-2008
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 0
Exclamación Ordenar un arreglo de caracteres (Por favor ayudenme)

Hola a tod@s, soy nueva aqui en el foro y estoy en mi primer semestre en la carrera de Ingenieria en Sistemas Computacionales ("ISC"), nunca he tomado clases de programación quisiera saber si alguien me puede ayudar con esté programa por favor

#include<stdio.h>

void main ()

{

int a=0;

char nombre, [5][20];

for (a=0; a<=4; a++)

{

printf (“\n Inserte un nombre”);

scanf(“%s”, nombres [a]);

}

//y me piden que de el codigo para ordenar un arreglo

si alguien me puede ayudar se los agradecere inifintamente//

a=0;

while (a<=4)

{

printf("\n nombres [%i]=%s", a, nombres [a]);

a++;

}

}

Muchas gracias
  #2 (permalink)  
Antiguo 28/09/2008, 13:31
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Ordenar un arreglo de caracteres (Por favor ayudenme)

como es tu primera clase, asumire que lo tienes que hacer manualmente para que puedas aprender.

Primero, debes saber que lo vas a hacer es un algoritmo de ordenamiento. Te sugiero estas 2 lecturas para que entiendas mejor el concepto y sus posibilidades:


http://www.conclase.net/c/orden/
http://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento

ya que las hayas leido, seguramente sabras como resolver el problema por ti misma, que es lo ideal.

saludos,
  #3 (permalink)  
Antiguo 21/10/2008, 15:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Ordenar un arreglo de caracteres (Por favor ayudenme)

si no estoy mal eso es una cadena . no se porque le llamas arreglo. para eso vas a necesitar una libreria la string.h que es con la que se manejan funciones de cadena. para ordenalas posiblemente vas a necesitar un cadena auxiliar para ir comparando y hacer el intercambio. bueno no mas chachara. este codigo te podra servir . hay estoy ordenando un vector analisa como se hacen los cambios y date cuenta como va ordenando ..
te doy otro dato para esto tambien vas a necesitar una funcion que es la strcmp(cad1,cad2) asi se maneja esta funcion esta te va a servir para comparar las cadenas solo investiga un poquito ..... y si no puedes me avisas y yo te ayudo esta muy facil.. animo!!!
void burbuja()//metodo de burbuja
{
int numero,vector[100],i,j,k,auxiliar=0;
clrscr();
gotoxy(28,4);printf("METODO DE BURBUJA");
gotoxy(23,6);printf("CUANTOS NUMEROS DESEA ORDENAR=");
scanf("%d",&numero);
for(i=1;i<=numero;i++)
{
gotoxy(26,7+i);printf("vector[%d]",i);
scanf("%d",&vector[i]);
}
for(i=1;i<=numero-1;i++)//formula np=ne-np
{
for(j=1;j<=numero-1;j++)
{
if(vector[j+1]<vector[j])
{
gotoxy(22,9+i);printf("cambio..\a vector[%d]=%d por vector[%d]=%d",j+1, vector[j+1],j,vector[j]);
auxiliar=vector[j+1];
vector[j+1]=vector[j];
vector[j]=auxiliar;
for(k=1;k<=numero;k++)
{
gotoxy(23,10+i);printf("%d",vector[k]);
}
}
}
}
gotoxy(26,12);printf("VECTOR ORDENADO");
for(i=1;i<=numero;i++)
{
gotoxy(22,13+i);printf("%d",vector[i]);
}
}
  #4 (permalink)  
Antiguo 20/07/2011, 18:00
 
Fecha de Ingreso: julio-2011
Mensajes: 1
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Ordenar un arreglo de caracteres (Por favor ayudenme)

Miraa soy nuevo en el foro asi que no ce de reglas xd
a mi me costo mucho aprender esto por que mi profe aun no lo enseña
y tuve que investigar mucho para lograrlo
mira en Dev C++ usa este que hize yo haver si lo entiendes

Código:
#include <stdio.h>
#include <string.h>
int main()
{
int n;
printf("Ingrese cantidad de nombres a ingresar: ");
scanf("%d",&n);
char s[n-1][20],aux[20];
int i,j;
float comp;
for(i=0;i<n;i++)
{
                 printf("Ingrese un nombre: \n");
                 scanf("%s",s[i]);
}
system("cls");
for(i=0;i<n;i++)
{
                 for(j=0;j<n-i;j++)
                 {
                                  comp = strcmp( s[j], s[j+1] );
                                  if(comp > 0)
                                  {
                                         strcpy(aux,s[j]);
                                         strcpy(s[j],s[j+1]);
                                         strcpy(s[j+1],aux);
                                  }
                 }
}
printf("Los nombres ordenados alfabeticamente son: \n");
for(i=0;i<n;i++)
{
                 printf("%d.- %s \n",i+1,s[i]);
}
system("PAUSE");
}
  #5 (permalink)  
Antiguo 20/07/2011, 21:59
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: Ordenar un arreglo de caracteres (Por favor ayudenme)

Cita:
Iniciado por Piiojiithox Ver Mensaje
Miraa soy nuevo en el foro asi que no ce de reglas xd
a mi me costo mucho aprender esto por que mi profe aun no lo enseña
y tuve que investigar mucho para lograrlo
mira en Dev C++ usa este que hize yo haver si lo entiendes

Código:
#include <stdio.h>
#include <string.h>
int main()
{
int n;
printf("Ingrese cantidad de nombres a ingresar: ");
scanf("%d",&n);
char s[n-1][20],aux[20];
int i,j;
float comp;
for(i=0;i<n;i++)
{
                 printf("Ingrese un nombre: \n");
                 scanf("%s",s[i]);
}
system("cls");
for(i=0;i<n;i++)
{
                 for(j=0;j<n-i;j++)
                 {
                                  comp = strcmp( s[j], s[j+1] );
                                  if(comp > 0)
                                  {
                                         strcpy(aux,s[j]);
                                         strcpy(s[j],s[j+1]);
                                         strcpy(s[j+1],aux);
                                  }
                 }
}
printf("Los nombres ordenados alfabeticamente son: \n");
for(i=0;i<n;i++)
{
                 printf("%d.- %s \n",i+1,s[i]);
}
system("PAUSE");
}
Para usar system("cls") y system("PAUSE"), se debe declarar #include "stdlib.h"
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%

Última edición por CapacProg; 20/07/2011 a las 22:05
  #6 (permalink)  
Antiguo 19/01/2013, 12:29
 
Fecha de Ingreso: enero-2013
Ubicación: En el geiser Khmbiandsonsen
Mensajes: 1
Antigüedad: 11 años, 3 meses
Puntos: 0
Mensaje Respuesta: Ordenar un arreglo de caracteres (Por favor ayudenme)

Cita:
Iniciado por Piiojiithox Ver Mensaje
Miraa soy nuevo en el foro asi que no ce de reglas xd
a mi me costo mucho aprender esto por que mi profe aun no lo enseña
y tuve que investigar mucho para lograrlo
mira en Dev C++ usa este que hize yo haver si lo entiendes

Código:
#include <stdio.h>
#include <string.h>
int main()
{
int n;
printf("Ingrese cantidad de nombres a ingresar: ");
scanf("%d",&n);
char s[n-1][20],aux[20];
int i,j;
float comp;
for(i=0;i<n;i++)
{
                 printf("Ingrese un nombre: \n");
                 scanf("%s",s[i]);
}
system("cls");
for(i=0;i<n;i++)
{
                 for(j=0;j<n-i;j++)
                 {
                                  comp = strcmp( s[j], s[j+1] );
                                  if(comp > 0)
                                  {
                                         strcpy(aux,s[j]);
                                         strcpy(s[j],s[j+1]);
                                         strcpy(s[j+1],aux);
                                  }
                 }
}
printf("Los nombres ordenados alfabeticamente son: \n");
for(i=0;i<n;i++)
{
                 printf("%d.- %s \n",i+1,s[i]);
}
system("PAUSE");
}

a mi me dio algunos errorcillos... modifique la declaracion del arreglo s dejandolo:
Código:
char[n][20]
i me dejo de dar error!!

  #7 (permalink)  
Antiguo 19/01/2013, 13:18
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Ordenar un arreglo de caracteres (Por favor ayudenme)

mmm este tema es de hace un par de años
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:53.