Проверить является ли текст палиндромом - C (СИ)
Формулировка задачи:
1) Проверить является ли текст палиндромом. Вводятся буквы с клавы, максимальное количество 128(можно и меньше), конец ввода точка(если меньше 128 ввели).
так полагаю надо забить это все в массив, потом его инвертировать и сравнить оба массива, в конце выдать все палиндромы (буквосочетания)
2) Вводится текст состоящий только из цифр, признак окончания точка. Найти наиболее встречающуюся цифру.
пока написал вот это, но правда цифры тока инвертирует, для прочерки оба массива распечатывает, как сделать чтоб буквы нормально записывала в массив и как проверку на полиндромность вообще непойму ка сделать, по идее если больше 2-х букв полиндромны их нужно уже распечатывать... помогите...
#include <stdio.h> #include <conio.h> void main () { const int N=128; int i,j, A[N], X[N]; for (i=0;i<N&&i!='.';i++) { scanf ("%d", &X[i]); } for (j=0,i=127;j<N;j++,i--) { A[j]=X[i]; } for (i=0;i<N;i++) { printf ("%d ", X[i]); } printf ("\n\n"); for (j=0;j<N;j++) { printf ("%d ", A[j]); } getch (); }
Решение задачи: «Проверить является ли текст палиндромом»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <stdlib.h> void main () { const int N=128; int i,j, X[N], A[N]; for (i=0;i<N;i++) { X[i]=rand(); } for (i=0;i<N&&i!='.';i++) { scanf ("%d", &X[i]); } //находим количество встречающихся цифр for (j=0;j<N;j++) { for (i=0;i<N;i++) { if (X[j]==X[i]) { A[j]=A[j]+1; } } } printf ("\n\n"); //находим цифру которая чаще всего встречается for (i=0,j=0;i<N;i++) { if (A[j]>=A[i]) {} else { j=j++; } } printf ("%d", X[j]); //распечатываем искомое число getch (); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д