Форум программистов, компьютерный форум CyberForum.ru

Палиндром - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
01.04.2011, 09:08     Палиндром #1
Здравствуйте! Наткнулся на такую задачу. Дана строка и нужно посчитать сколько палиндрома можно из нее сделать. Например:
ввод: ababc
вывод: 13
Хотя бы подкиньте идею как можно ее решить... И еще один вопрос ограничение по времени 2 сек, по памяти 16 мб, а входная длина может составлять 5000 символов. Такое можно с реализовать на С++???
Всем за ранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2011, 09:08     Палиндром
Посмотрите здесь:

Палиндром... C++
C++ Палиндром.
C++ палиндром
Палиндром C++
Палиндром с++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Only_HED
4 / 4 / 0
Регистрация: 28.05.2009
Сообщений: 29
01.04.2011, 09:18     Палиндром #2
1) Перебрать все варианты вводимых символов (ababc, baabc,bbaac ...).
2) Проверить их на палиндром (первый символ = последний символ, второй символ = предпоследний символ ... ).
3) Вывод их количества.
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
01.04.2011, 09:27  [ТС]     Палиндром #3
Only_HED, это понятно. Не получается с реализовать пункт №1
Only_HED
4 / 4 / 0
Регистрация: 28.05.2009
Сообщений: 29
01.04.2011, 10:56     Палиндром #4
Посмотри идею как это реализовано на --> Delphi
А я попробую сделать на С++.

Добавлено через 1 минуту
Это с 6 символами ...

программа Day


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
static char X[7];
Pere(char *p, int k)
{ char q[7]; int i, j, jj;
   if (k==1) {
      X[6-k] = *p;
      X[6] = '\0';
      printf("%s\n", X);
      return;
   }
   for(i=0; i<k; i++) {
      X[6-k] = p[i];
      for(j=0, jj=0; j<k; j++)
        if (j!=i) q[jj++] = p[j];
      Pere(q, k-1);
   }
}
 
main()
{
 char s[7] = "123456";
 Pere(s, 6);
}
Yandex
Объявления
01.04.2011, 10:56     Палиндром
Ответ Создать тему
Опции темы

Текущее время: 18:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru