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

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

Войти
Регистрация
Восстановить пароль
 
stal_in
1 / 1 / 0
Регистрация: 22.03.2011
Сообщений: 56
#1

Имеется 15 строк, найти строку с наибольшим количеством слов палиндромов - C++

06.05.2013, 12:07. Просмотров 553. Ответов 3
Метки нет (Все метки)

Заранее напишу полное задание:
Вводится последовательно 15 строк. В каждой строке убрать избыточные пробелы, проверить синхронность скобок, найти строку с самым большим количеством слов палиндромов.
Больше всего меня волнуют слова палиндромы, с остальным надеюсь разобраться сам.
Подскажите пожалуйста как решить ту часть, где нам требуется найти строку с самым большим количеством слов палиндромов?


//Дополнительный вопрос:
Как осуществить сдвиг массива до текущего элемента?(т.к. пустого символа у нас нет и просто удалить элемент мы не можем, необходимо осуществить сдвиг, но я не очень понимаю как в данном случае это сделать?
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
 
int main(void)
{
    char str[256];
    printf("\n\nEnter string -> ");
    scanf("%[^\n]%*c", str);//??????
    
    int i;
    for (i = 0; i<strlen(str) ; i++) {
        if (str[i] == ' ') 
        {
          if (str[i+1] == ' ') 
          {
                       //Осуществляем сдвиг массива
          }
        }      
    }
 
    printf("\n\nResult -> ");
        printf("%s ", str);
                            //??????
    printf("\n");
    getch();
    return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2013, 12:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Имеется 15 строк, найти строку с наибольшим количеством слов палиндромов (C++):

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

Поменять в массиве местами строку с наибольшим и строку с наименьшим количеством различных элементов - C++
Помогите, пожалуйста, решить задачу на С++ . Дан массив действительных чисел размера m на n, где m и n – натуральные числа. Поменять в...

Вывести строки файла с наибольшим количеством слов - C++
Необходима программа для поиска в текстовом файле строки с найбольшим количеством слов в ней, если таких несколько вывести три первых...

Определить строку с наибольшим количеством отрицательных элементов - C++
Здравствуйте! Помогите найти ошибку, пожалуйста =) Есть матрица, нужно определить строку с наибольшим количеством отрицательных...

Вывод содержимого вектора с наибольшим количеством строк - C++
Ребят помогите с заданием: Считать все строки заданного входного файла в указанную структуру данных , сортируя строки при загрузке...

Перевести из паскаля нахождение строк с наибольшим количеством нулей - C++
Var i,j,n,m,max,imax:integer; A:array of integer; Function Kol(i:integer):byte; Var j,k:integer; Begin k:=0; For...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
06.05.2013, 12:34 #2
А вот всмысле избыточные проблемы? Что-то типа пробел, и за ним сразу еще один пробел? И необходимо убрать следующий пробел?

Добавлено через 7 минут
Вот вам код проверки синхронности кнопок.
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
#pragma hdrstop
#include <iostream>
#include <Windows>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
 
using namespace std;
 
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char str[256]; //Строка.
int i,h = 0,k = 0; //Для цикла, и для проверки скобок.
cout << "Введите строку - ";
gets(str);
for(i = 0; i < strlen(str); i++)
{
if(str[i] == '(') h++; //Подсчитываем сколько скобок.
if(str[i] == ')') k++;
}
if(h > k) cout << "Нехватает " << h-k << " ) скобок\n";
if(h < k) cout << "Нехватает " << k-h << " ( скобок\n";
if(h == k) cout << "Скобки наместе.\n";
 
system("PAUSE");
}
stal_in
1 / 1 / 0
Регистрация: 22.03.2011
Сообщений: 56
06.05.2013, 14:15  [ТС] #3
Цитата Сообщение от Bend3r Посмотреть сообщение
А вот всмысле избыточные проблемы? Что-то типа пробел, и за ним сразу еще один пробел? И необходимо убрать следующий пробел?
Да, т.е. между словами должно быть не более 1-го пробела.
И я тут подумал, в начале тоже получается надо убирать(т.е.если пробелы до предложения, то их все надо стереть)... в конце понятно как, просто заменяем элемент на '/0', а вот в начале?
stal_in
1 / 1 / 0
Регистрация: 22.03.2011
Сообщений: 56
07.05.2013, 21:11  [ТС] #4
Поможет кто-нибудь с палиндромами?
(Палиндром - слово которое не имеет значение с какой стороны читать, к примеру - кок.)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 21:11
Привет! Вот еще темы с ответами:

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

Найти паралелограмм с наибольшим количеством точек - C++
Приветствую всех. Обращаюсь с помощью, так как эта программа уже выводит меня из себя. Задание состоит в следующем: &quot;Даны N точек на...

В интервале от a до b найти число с наибольшим количеством делителей - C++
a и b вводятся с клавиатуры,представить в виде функции

Найти слова с наибольшим количеством гласных букв - C++
Вводится строка слов, написанных латинскими буквами. Необходимо вывести слова(-о), в которых содержится наибольшее кол-во гласных букв( e y...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.05.2013, 21:11
Ответ Создать тему
Опции темы

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