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


 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Ayuda con ejercicio en C.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con ejercicio en C.  (Leído 333 veces)
HellDom89x

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con ejercicio en C.
« en: 23 Noviembre 2017, 08:45 »

Hola.

Mi programa debe reordenar una cadena de texto leída desde un archivo con base en una palabra que ingresa el usuario y que se ordena alfabéticamente.
Por ejemplo:
 HOLA
Texto: VENCER EL TEMOR AL FRACASO
Nc = 4 *número de caracteres de la palabra dada.
HOLA
VENC
EREL
TEMO
RALF
RACA
SOXX

Y tiene que terminar así:

AHLO
CVNE
LE ER
OTME
FR LA
ARCA
XSXO

El código es este:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<ctype.h>

main()

{

FILE *B;

char *A;

char **D;

char PC[16], Ord[16], N[90], archivo[50];

    int Nc, Nct, Nf, i, j, w, x, y;

    char z;

      

    printf("Dame una palabra de 15 caracteres o menos:\n");

    scanf("%s",PC);

      

    Nc=strlen(PC);

    

printf("Indica el nombre del archivo escribiendo la extension\n");

scanf("\n%s",&archivo);

B=fopen(archivo,"r+t");

if((B=fopen(archivo,"r+t"))==NULL)

{

printf("\nError");

}

else

{

printf("\nArchivo valido\n");

while ((fscanf(B,"%s",&N))!=EOF)

{

printf("\n%s\n",N);

}

}



Nct=strlen(N);

Nf=Nct/Nc;


printf("\nNumero de caracteres en texto: %d",Nct);

printf("\nNumero de columnas: %d , Numero de filas: %d",Nc,Nf);


strcpy(Ord,PC);


for(i=1;i<Nc;i++)

        {

for(j=0;j<Nc-i;j++)

        {

            if((tolower(Ord[j]))>(tolower(Ord[j+1])))

                {

                z=Ord[j];

                Ord[j]=Ord[j+1];

                Ord[j+1]=z;

                }

        }

    }

    printf("\nTu palabra es: %s\n",PC);

    printf("Tu palabra ordenada es: %s\n",Ord);

    strupr(PC);

    for(i=0;i<Nc;i++)

    {

    printf(" %c ",PC);

}

  puts("\n");

for(i=0; i<Nc; i++)

  {

  printf(" %c ",N); 

  }

  puts("\n");

  for(i=Nc; i<Nc+Nc; i++)

  {

  printf(" %c ",N);

  }


A=&N[90];


A=(char*)malloc(Nf*Nc*sizeof(char));
for(i=0;i<Nf;i++)
{
for(j=0;j=Nc;j++)
{
A[w]=(i*Nc)+j;
}
}


D=(char**)malloc(Nf*sizeof(char*));

for(i=0;i=Nf;i++)
{
D=(char*)malloc(Nc*sizeof(char));
}

for(i=0;i<Nf;i++)
{
for(j=0;j<Nc;j++);
{
printf("%s",A);
}
}

for(i=0;i=Nf;i++)
{
free(D);
}

getchar();
getchar();

}

El problema es que, al crear el arreglo dinámico para cadenas, no lo lee y el programa deja de funcionar. Tampoco lee la matriz de caracteres.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] Ejercicio C 100
Ejercicios
Dem0ny 2 4,088 Último mensaje 19 Diciembre 2007, 22:45
por Dem0ny
Ayuda co un ejercicio de C#
.NET
hitori batusai 2 3,494 Último mensaje 22 Febrero 2008, 01:53
por hitori batusai
Ayuda con ejercicio de VB
Programación Visual Basic
guada_sp 5 1,641 Último mensaje 8 Marzo 2008, 02:54
por ‭‭‭‭jackl007
ayuda con ejercicio
Redes
maryrisas 1 1,041 Último mensaje 9 Agosto 2008, 21:52
por T0rete
Ayuda ejercicio de Pascal, cuando uno no lo ve claro pide ayuda
Programación General
manu3742 1 1,437 Último mensaje 31 Marzo 2011, 15:43
por d(-_-)b
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines