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

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

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

Игра слов в строке - C++

17.05.2014, 09:13. Просмотров 385. Ответов 1
Метки нет (Все метки)

Написать 1 строку потом написать 2 строку программа должна проверить и вывести "Можно" или "Нельзя"
Проблема у меня в повторяющихся буквах во 2 строке.Если например вбить в 1 строку (ба аб) а во вторую вбить (аб бб)
то прога должна вывести нельзя а у меня выводит можно
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <string.h>
#include <stdio.h>
 using namespace std;
 int main()
 {
setlocale(LC_ALL, "russian");
 int i,n=0,t,k=0;
    char X[50],Y[50];
    puts("Введите строку X");
gets(X);
  n=strlen(X);
    puts("Введите строку Y");
gets(Y);
  t=strlen(Y);
    if(n>=t)
{
 for(i=0;i<t;i++)
{
if(strchr(X,Y[i])!=0)
{
k++;
}}
if(k==t)
{
cout<<" МОЖНО "<<endl;
}
else
{
cout<<" НЕЛЬЗЯ "<<endl;
}}
else
{
    cout<<" НЕЛЬЗЯ "<<endl;
}
    return 0;
 }
Никак не могу придумать чтоб буквы использовались всего один раз.Помогите!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 09:13     Игра слов в строке
Посмотрите здесь:

Количество слов в строке - C++
Подсчитать количество слов в строке, которая не может начинаться с про- белов, но может заканчиваться ими. Учесть наличие двух и более...

Поиск слов в строке c++ - C++
Как в файле сделать проверку на одинаковые слова в строке

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

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

Замена слов в строке - C++
Программа берет данные из файла. Далее должна заменять Все слова н1 на н2. Однако получается только для первого найденного слова. ...

Колличество слов в строке - C++
Условие задания понятно из темы. Вот мой код: #include &lt;iostream.h&gt; #include &lt;string.h&gt; main() { int x=0; char s; ...

Количество слов в строке - C++
Суть задачи такая - нужно подсчитать, сколько целых чисел содержится в произвольной строке. Числа разделены пробелами (причём любым...

Подсчёт слов в строке - C++
Помогите пожалуйста, необходимо найти количество повторяющихся слов в строке. Пример вывода в программе: Исходная строка: stroka...

Количество слов в строке - C++
Вводится строка, подсчитать количество слов в строке которые начинаются на ту же букву на которое заканчивается предыдущее слово. в...

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

Реверс слов в строке - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; int main(int argc, char *argv) { ...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
17.05.2014, 09:32     Игра слов в строке #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
36
37
38
39
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
// str - исходная строка, count - массив в который считаем к-во букв
void count(unsigned char *str,int *count)
{
    for(int i=0;i<=255;i++)
        count[i]=0;
    for(int i=0;str[i];i++)
        count[str[i]]++;
 
}
int main()
{
   setlocale(LC_ALL, "russian");
   unsigned char X[50],Y[50];
   puts("Введите строку X");
   gets((char*)X);
   int n=strlen((char*)X);
   puts("Введите строку Y");
   gets((char*)Y);
   int t=strlen((char*)Y);
   int cx[256],cy[256];
   count(X,cx);
   count(Y,cy);
   bool ok=true;
   for(int i=0;i<=255;i++)
       if(cx[i]!=cy[i])
       {
           ok=false;break;
       }
  if(ok)
      puts(" МОЖНО \n");
  else
      puts(" НЕЛЬЗЯ \n");
  getch();
  return 0;
}
Ответ Создать тему
Опции темы

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