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

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

Войти
Регистрация
Восстановить пароль
 
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
#1

Слово перевётрыш - C++

05.10.2011, 00:16. Просмотров 334. Ответов 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//
// Переделать программу что бы она считала не коол-во перевёртышей а кол-во не перевёртышей.
//---------------------------------------------------------------------------
//Дан массив слов.Определить количество слов массива, которые не являются "перевертышем".
#include <vcl.h>
#pragma hdrstop
#include<conio.h>
#include<stdio.h>
#include<string.h>
#pragma hdrstop
#pragma argsused
void main()
{
  int ks,ii,kl;
  printf("Vvedite kol-vo slov\n");
  scanf("%d",&kl);
  char **MS= new char *[kl];
  for(int ii=0;ii<kl;ii++)
    MS[ii]=new char[kl];
  puts("vvedite text");
  for(int ii=0;ii<kl;ii++)
    scanf("%s",MS[ii]);
  char **i;
  char *j;
  int kol=0;
  int jj=0,kz=0;
  for(i=MS;i<MS+kl;i++)
    {
      jj=0;
     int d1=strlen(*i);
     if (d1==1){kz++;}
      for(j=*i;j<*i+d1/2;j++,jj++)
    {
      if(*j==*(j+d1-jj-1)) kol++;
      if(kol==d1/2)
        {
          kz++;
          kol=0;
    
        }
     }
    }
  printf("%d",kz-kl);
  getch();
  for(ii=0;ii<kl;ii++)
    delete []MS[ii];
  delete []MS;
}
//---------------------------------------------------------------------------
 Комментарий модератора 
Используйте теги форматирования кода.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2011, 00:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Слово перевётрыш (C++):

В тексте заменить слово А(любое слово) на слово В(любое слово). А и В разной длинны - C++
Не могу сообразить как написать программу: Пользователь вводит текст Необходимо замениь слово А(любое слово) на слово В(любое...

Ввести строку и слово. Вставить введенное слово за пятым словом в строке - C++
Помогите ребят. Нужно написать программу на С++ без использования библиотек &lt;ctype.h&gt;, &lt;string.h&gt; или &lt;stdlib.h&gt;. Ввести строку и...

Программа, удаляющее последнее слово, выводит первое слово. Что не так? - C++
#include &lt;iostream&gt; using namespace std; int main() { char s; int i = 0; cout &lt;&lt; &quot;stroka: &quot;; cin &gt;&gt; s; for(i =...

Найти в файле слово по заданному началу, вывести слово и его позицию - C++
Найти в файле слово по заданному началу, вывести слово и его позицию

Функция меняющая местами последнее слово строки на слово с указанным номером - C++
Помогите сделать функцию,которая в указанной строке меняет местами последнее слово и слово,номер которого определяется вторым параметром...

Заменить заданное слово в тексте, находящемся в заданном файле, на другое слово. - C++
Заменить заданное слово в тексте, находящемся в заданном файле, на другое слово.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
05.10.2011, 00:43 #2
Можно так:
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
29
30
31
32
33
34
35
#include <iostream>
#include <string>
 
const int N = 10;
 
bool DoubleDealingFellow ( const std::string word )
{
    bool Checker = true;
    int i = 0;
    while ( ( i < word.length() / 2 ) && ( Checker ) )
    {
        Checker = ( word [ i ] == word [ word.length() - i - 1 ] );
        i++;
    }
    return Checker;
}
 
int main ()
{
    std::string *ArrayWords = new std::string [ N ];
 
    // Ввод масива слов
 
    unsigned int count = 0;
    for ( int index = 0; index < N; index++ )
        if ( !DoubleDealingFellow ( ArrayWords [ index ] ) )
            count++;
 
    std::cout << "Count: " << count << std::endl;
 
    delete []ArrayWords;
 
    std::cin.get();
    return 0;
}
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
05.10.2011, 11:49  [ТС] #3
ну я же попросила эту переделать а не новую непонятную написать мне нужно эту.

Добавлено через 1 минуту
Переделать программу что бы она считала не коол-во перевёртышей а кол-во не перевёртышей.
Цитата Сообщение от juli.ya92 Посмотреть сообщение
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//
//
//---------------------------------------------------------------------------
//Дан массив слов.Определить количество слов массива, которые не являются "перевертышем".
#include <vcl.h>
#pragma hdrstop
#include<conio.h>
#include<stdio.h>
#include<string.h>
#pragma hdrstop
#pragma argsused
void main()
{
  int ks,ii,kl;
  printf("Vvedite kol-vo slov\n");
  scanf("%d",&kl);
  char **MS= new char *[kl];
  for(int ii=0;ii<kl;ii++)
    MS[ii]=new char[kl];
  puts("vvedite text");
  for(int ii=0;ii<kl;ii++)
    scanf("%s",MS[ii]);
  char **i;
  char *j;
  int kol=0;
  int jj=0,kz=0;
  for(i=MS;i<MS+kl;i++)
    {
      jj=0;
     int d1=strlen(*i);
     if (d1==1){kz++;}
      for(j=*i;j<*i+d1/2;j++,jj++)
    {
      if(*j==*(j+d1-jj-1)) kol++;
      if(kol==d1/2)
        {
          kz++;
          kol=0;
    
        }
     }
    }
  printf("%d",kz-kl);
  getch();
  for(ii=0;ii<kl;ii++)
    delete []MS[ii];
  delete []MS;
}
//---------------------------------------------------------------------------
Используйте теги форматирования кода.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
05.10.2011, 11:57 #4
Зная общее количество слов и количество полиндромов, решение сводится к сложнейшей операции под названием "вычитание"...
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
05.10.2011, 11:59 #5
juli.ya92, поменяйте условие
C++
1
if(kol==d1/2)
на
C++
1
if(kol != d1/2)
Если, конечно, программа работала правильно
Deviaphan
05.10.2011, 12:09
  #6

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
стория показала, что ваши шутки не всем понятны
И правда, надо пояснить.
Вычитание, это такая операция, противоположная сложению. Её математический смысл в уменьшении одной величины на другую величину. Результат данной операции в простонародье именуется разностью. В большинстве естественных языков, символом вычитания является горизонтальная полосочка, длиной сопоставимая с высотой используемых символов. В языках программирования так же зачастую используется именно полосочка. Нужно иметь в виду, что на компьютерных клавиатурах имеют место быть распространёнными по одной клавише целых ДВЕ горизонтальных полосочки. Для операции вычитания требуется использовать полосочку, расположенную по середине высоты символов. Горизонтальная полосочка, расположенная по низу символа, не являет собой отображения операции вычитания и использовать её в математических выражениях не рекомендуется.
Надеюсь, теперь не возникнет трудности в использовании такого сложного математического инструмента, который простые смертные кличут "минусом".

Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
05.10.2011, 12:17 #7
Цитата Сообщение от Deviaphan Посмотреть сообщение

Не по теме:


И правда, надо пояснить...

Не по теме:

:cofee2:

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2011, 12:17
Привет! Вот еще темы с ответами:

Дано слово а. Получить слово b, образованное нечётными буквами слова а. - C++
8.1.2. Помогите, пожалуйста, решить задачу в С++. Дано слово а. Получить слово b, образованное нечётными буквами слова а.

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

Ввести строку и слово. Вставить введенное слово за самым коротким словом в строке. - C++
помогите

Определить, содержит ли последнее слово строки букву, с которой начинается первое слово - C++
2.) В динамической памяти размещена строка символов. Определить, содержит ли последнее слово строки букву, с которой начинается первое...


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

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

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