generated from maria-larissa/Mini-projetos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProblema1.c
68 lines (65 loc) · 1.83 KB
/
Problema1.c
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct pi{
char elemento[5];
int quant;
}Pilha;
int main(){
char palavra[11];
printf("\nDigite uma palavra: ");
scanf("%10[^\n]", &palavra);
//como saber quantas letras tem a palavra
int cont = strlen(palavra);
//printf("cont = %d\n", cont);
if(cont%2 == 0){
int tam = (cont/2)-1;
int j=tam, k=tam+1;
Pilha pilha;
for(int i=0; i<=tam ; i++){
pilha.elemento[i] = palavra[i];
pilha.quant++;
// printf("pilha.elemento[%d] = %c\n", i,pilha.elemento[i]);
}
while(k < cont){
if(pilha.elemento[j] == palavra[k]){
pilha.quant--;
if(pilha.quant == 0){
printf("A palavra '%s' é palindroma.\n", palavra);
break;
}
j--;
k++;
continue;
}else{
printf("A palavra '%s' não é palindroma.\n", palavra);
break;
}
}
}else{
int tam2 = (cont+1)/2;
int j=tam2-2, k=tam2;
Pilha pilha2;
for(int i=0;i<tam2-1;i++){
pilha2.elemento[i]=palavra[i];
pilha2.quant++;
// printf("pilha2.elemento[%d] = %c\n", i,pilha2.elemento[i]);
}
while(k < cont){
if(pilha2.elemento[j] == palavra[k]){
pilha2.quant--;
if(pilha2.quant == 0){
printf("A palavra '%s' é palindroma.\n", palavra);
break;
}
j--;
k++;
continue;
}else{
printf("A palavra '%s' não é palindroma.\n", palavra);
break;
}
}
}
return 0;
}