Задача На С++ В Консоли

  • Автор темы Guest
  • Дата начала
G

Guest

#1
Здравствуйте господа программисты. Не совсем понятно условие и как следовательно реализация следущей задачи-

Из входного потока вводится последовательность целых чисел. Количество чисел в последовательности произвольно, но не превышает 100.
Сформировать новую последовательность, состоящую из чисел исходной по-следовательности, в которую включены числа-палиндромы (например, 12321, 3223 и т.п.).
Исходную и полученную последовательности вывести в выходной поток.
Логически-законченные части алгоритма программы оформить функциями с параметрами (ввод массива, вывод последовательности и др.)

Помогите с куском про палиндромы. Писать нужно на VS 2008. Заранее спасибо за любые подсказки, а то сам в полной растерянности. ;)
 
R

rrrFer

#2
Код:
#include <iostream>
#include <sstream>
#include <string>

bool f( std ::string &s, int st, int fn ) {
if( st >= fn )
return 1;
if( s[ st ] != s[ fn ] )
return 0;
return f( s, st + 1, fn - 1 );
}
int main () {
int a;
std ::string s;
std ::stringstream sstr;

std ::cin >> a;

sstr << a;
sstr >> s;

std ::cout << ( f( s, 0, s .length( ) - 1 ) ? "yes" : "no" );
std ::cin .get( ), std ::cin .get( );
return 0;
}
 
G

Guest

#3
Простите, я так понимаю, она определяет является ли введенное число палиндромом. Тогда как я понимаю, мне в моей задаче надо будет обратиться к каждому элементу последовательности. А как выполняется это?
 
R

rrrFer

#4
Помогите с куском про палиндромы
с куском про палиндромы я не помог, а написал за вас. Используйте уж сами готовую функцию.

Цитата из правил:
Ну а те, кто не хочет что-то делать самостоятельно должны понимать, что работа людей стоит денег.