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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Денис96
0 / 0 / 0
Регистрация: 10.08.2011
Сообщений: 55
#1

Преобразовать последовательность, добавив к ней наименьшее число символов - C++

10.12.2012, 18:05. Просмотров 458. Ответов 6
Метки нет (Все метки)

Помогите, пожалуйста, с задачей. Уже второй день мучаюсь, ничего в голову не лезет.
Условие:

Даны натуральное число n, символы S1, ..., Sn. Преобразовать последовательность S1, ..., Sn, добавив к ней наименьшее число символов Sn+1, .., Sm так, чтобы последовательность S1, ..., Sm стала палиндромом (читалась одинаково в обоих направлениях): S1=Si , S2=Sm-1, … и т.д.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 18:05     Преобразовать последовательность, добавив к ней наименьшее число символов
Посмотрите здесь:

Преобразовать последовательность символов заменив в ней каждую из групп стоящих рядом точек одной точкой - C++
Дано натуральное число n, символы s1,...,sn переобразовать последовательность s1,...,sn заменив в ней: в) каждую из групп стоящих...

Преобразовать последовательность символов в число - C++
#include<iostream> #include<conio.h> using namespace std; int main() { setlocale(0, ""); unsigned int a, s, d, f, g, h,...

Преобразовать последовательность заменив в ней все восклицательные знаки точками - C++
2. Даны натуральное число n, символы s1, s2, …, sn. Преобразовать последовательность s1, s2, …, sn заменив в ней: все восклицательные знаки...

Дана последовательность символов. Определить в ней символ, который по алфавиту предшествует другим - C++
1 задание Дана последовательность символов. Определить в ней символ, который по алфавиту предшествует другим. #include<iostream> ...

Дана последовательность чисел. Сколько раз в ней встречается максимальное число? - C++
Given a sequence of numbers. Find out how many times the maximum element of the sequence meets in the sequence. Input data. First...

Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число. - C++
Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
10.12.2012, 18:18     Преобразовать последовательность, добавив к ней наименьшее число символов #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    string s = "123";
    string s1 = "";
 
    for(int i = s.size() - 2; i >= 0; --i) {
        s1.push_back(s[i]);
    }
 
    string result = s + s1;
 
    cout << result;
}
)))))
Денис96
0 / 0 / 0
Регистрация: 10.08.2011
Сообщений: 55
10.12.2012, 18:33  [ТС]     Преобразовать последовательность, добавив к ней наименьшее число символов #3
А откуда взялись тогда s1.pushback и s1.size??
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
10.12.2012, 18:35     Преобразовать последовательность, добавив к ней наименьшее число символов #4
Строковые функции)))
Croessmah
Модератор
Эксперт CЭксперт С++
13056 / 7319 / 816
Регистрация: 27.09.2012
Сообщений: 18,055
Записей в блоге: 3
Завершенные тесты: 1
10.12.2012, 18:36     Преобразовать последовательность, добавив к ней наименьшее число символов #5
Цитата Сообщение от Денис96 Посмотреть сообщение
А откуда взялись тогда s1.pushback и s1.size??
Это функции-члены класса basic_string
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
10.12.2012, 18:42     Преобразовать последовательность, добавив к ней наименьшее число символов #6
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 <string>
#include <stdio.h>
using namespace std;
bool is_palindrome(const string&s){
  int c=s.size();int hc=c>>1;int n=s.size();
  for(int i=0;i<hc;i++)if(s[0+i-0]!=s[n-i-1])return false;return true;
};
int main(){
  string s="abcde";string result;
  //char buff[1024];scanf("%s",buff);s=buff;
  int n=s.size();
  for(int j=1;j<=n;j++){
    string tmp;tmp.resize(j);
    for(int i=0;i<j;i++){tmp[j-i-1]=s[0+i-0];}
    tmp=s+tmp;printf("%s\n",tmp.c_str());
    if(!is_palindrome(tmp))continue;
    result=tmp;break;
  }
  printf("-----\n");
  printf("%s\n",s.c_str());
  printf("%s\n",result.c_str());
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2012, 19:04     Преобразовать последовательность, добавив к ней наименьшее число символов
Еще ссылки по теме:

Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число - C++
#include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;stddef.h&gt; // ------------ size_t index_of_max(int* a,...

Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число. - C++
помогите решить задачу для зачета,а то я совсем ничего не понимаю(((( Дана последовательность чисел. Выяснить , сколько раз в ней...

Найти наименьшее число элементов, которые надо удалить, чтобы осталась возрастающая последовательность - C++
Помогите с прогой. Надо в одномерном массиве найти наименьшее число элементов,которые надо удалить,чтобы осталась возрастающая...

Требуется составить программу, вычисляющую для заданного n последовательность Хейеса, подсчитывающую число шагов в ней и находящую ее вершину - C++
2. Последовательность Хейеса Рассмотрим некоторое натуральное число n. Если оно четное, то разделим его на 2, иначе -- ум-ножим на 3 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Денис96
0 / 0 / 0
Регистрация: 10.08.2011
Сообщений: 55
10.12.2012, 19:04  [ТС]     Преобразовать последовательность, добавив к ней наименьшее число символов #7
sovaz1997, такой вопрос, а вот если у нас символы не такие: "123", а вот так идут "123g3". Тогда нам надо написать "123g321". Как такое сделать? Просто там написано, что нужно добавить найменьшее число символов.
Yandex
Объявления
10.12.2012, 19:04     Преобразовать последовательность, добавив к ней наименьшее число символов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru