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)
| | |-+  Memoria dinamica matriz
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Memoria dinamica matriz  (Leído 1,619 veces)
programacion_c

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Memoria dinamica matriz
« en: 24 Abril 2012, 23:42 pm »

Hola tengo que hacer un programa en c que lea nombres desde teclado y los ordene alfabeticamente.

He hecho el programa para que acepte 10 nombres. El codigo es el siguiente :

codigo[#include <stdio.h>
#include <stdlib.h>
void main(void)
{
    char **cadena, *aux;
    int i, j, n;
    char temp[20];
    printf("%s%s\n", "Este programa ordena diez nombres",
        "introducidos por teclado.");
    printf("Introduzca los diez nombres:\n");
    cadena = (char**)malloc(10*sizeof(char*));
    for (i=0; i<10; i++) {
        printf("Nombre %d: ", i+1);
        scanf(" %[^\n]", temp);
        cadena = (char*)malloc((strlen(temp)+1)*sizeof(char));
        strcpy(cadena, temp);
    }
    for (i=0; i<9; i++)
        for (j=i+1; j<10; j++)
           if ((strcmp(cadena, cadena[j])) > 0) {
               aux = cadena;
               cadena = cadena[j];
               cadena[j] = aux;
           }
    printf("La lista ordenada es:\n");
    for (i=0; i<10 ; i++)
        printf("%s\n", cadena);
}]

Mi pregunta es, que es lo que tendria que cambiar para que el programa acepte "n" nombre hasta el caracter EOF.
Lo he intentado de varias formas pero siempre me da warning por culpa de los punteros.
Alguien me podria ayudar,?
Muchas gracias


En línea

david_BS

Desconectado Desconectado

Mensajes: 99



Ver Perfil WWW
Re: Memoria dinamica matriz
« Respuesta #1 en: 25 Abril 2012, 00:23 am »

si la cantidad de ingresos se da por teclado vez x vez, por ahí podés usar realloc para redimensionar el bloque de memoria inicial. distinto si tu programa pregunta cuantas palabras desea ingresar y vos le ponés 5 suponete y entonces hacés un malloc para 5.

realloc


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
lista con matriz dinamica
Programación C/C++
L·Storm! 2 2,920 Último mensaje 3 Agosto 2011, 03:03 am
por L·Storm!
Ayuda con matriz dinámica de estructuras
Programación C/C++
darklatios2006 4 1,433 Último mensaje 21 Marzo 2013, 19:58 pm
por amchacon
Problema con matriz dinámica
Programación C/C++
NathanD 4 1,589 Último mensaje 31 Mayo 2013, 17:26 pm
por rir3760
Juego con matriz dinámica en c++, función para rrecorrer matriz
Programación C/C++
jajaimess 1 1,823 Último mensaje 21 Junio 2014, 05:21 am
por .:UND3R:.
memoria dinámica en una matriz
Programación C/C++
stefgin 1 600 Último mensaje 30 Noviembre 2017, 20:24 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines