INVERTIR LINEA DE TEXTO EN C_ARRAY BIDIMENSIONAL
Publicado por Alexa (7 intervenciones) el 02/05/2020 20:50:43
Tengo el siguiente ejercicio: Escribir un programa en C que lea una línea de texto, la almacene en un array y la escriba al revés.La longitud de la línea no será especificada (terminará al pulsar la tecla Intro), pero se supone
que no excederá de 80 caracteres.
Avancé hasta la parte de almacenar las palabras en un array bidimensional, pero solo guarda la primera palabra. No se que está mal en mi código.
que no excederá de 80 caracteres.
Avancé hasta la parte de almacenar las palabras en un array bidimensional, pero solo guarda la primera palabra. No se que está mal en mi código.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<stdio.h>
#include<string.h>
#define NUM 20
#define TOT 80
void guardar_palabras(char palabras[][NUM]);
main(){
char palabras[NUM][NUM];
guardar_palabras(palabras);
printf("%s",palabras[1]);
return 0;
}
void guardar_palabras(char palabras[][NUM]){
int inicio=0,cont2,cont1=0,i=0,fin;
char letras[TOT];
printf("Digite el texto que desea invertir: ");
while( (letras[i]=getchar()) !='\n' && i<80){
if(letras[i]==' '){
fin=i-1;
for(cont2=inicio; cont2<=fin;cont2++){
palabras[cont1][cont2]=letras[cont2];}
inicio=fin+2;
cont1++;}
i++;
}
if (letras[i]=='\n'){
fin=i-1;
for(cont2=inicio; cont2<=fin;cont2++){
palabras[cont1][cont2]=letras[cont2];}
inicio=fin+2;
}
return;}
Valora esta pregunta


0