Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2009, 18:02   #1
Ker_33rus
Пользователь
 
Регистрация: 17.10.2009
Сообщений: 46
По умолчанию Задача на строки...помогите исправить ошибку

Код:
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <cstdlib>

using namespace std;

int main(int argc, char *argv[])
{
int i=0;
int j=0;
int b=0;
char x[10]={0};
char a[10]={0};
cout<<"Введите 1 слово"<<endl;
cin>>x;
cout<<"Введите 2 слово"<<endl;
cin>>a;
while (i<10)
while (j<10)
{
if (a[j]!=x[i])
{
i++;
}
else
{
j++;
b=b+1;
}
}
if (b>=a.length())
{
printf("Возможно\n");
}
else
{
printf("не Возможно\n");
}
  return EXIT_SUCCESS;
}
Код:
error: request for member 'length' in 'a', which is of non-class type 'char [10]'
задание: определить возможность составления одного данного слова из букв другово данного слова
Ker_33rus вне форума Ответить с цитированием
Старый 22.11.2009, 18:18   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
a.length()
а эту конструкцию вы откуда взяли?

для чар-строк нужно так

Код:
strlen(a);
counter вне форума Ответить с цитированием
Старый 22.11.2009, 18:19   #3
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

не знаю как на счет length , с strlen работает
p.s упс позднячок
NiCola999 вне форума Ответить с цитированием
Старый 22.11.2009, 18:30   #4
Ker_33rus
Пользователь
 
Регистрация: 17.10.2009
Сообщений: 46
По умолчанию

спасибо, чуваки, в инете такое нашол про length)
Ker_33rus вне форума Ответить с цитированием
Старый 22.11.2009, 18:31   #5
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
Сообщение от Ker_33rus Посмотреть сообщение
спасибо, чуваки, в инете такое нашол про length)
так там наверное переменная a была объявлена как string?
counter вне форума Ответить с цитированием
Старый 22.11.2009, 21:11   #6
Ker_33rus
Пользователь
 
Регистрация: 17.10.2009
Сообщений: 46
По умолчанию

да наверно string, не углядел, ребят исправил и добавил библиотеку string.h, но выдает ошибку сегментирования, что делать?
Ker_33rus вне форума Ответить с цитированием
Старый 28.11.2009, 14:44   #7
Ker_33rus
Пользователь
 
Регистрация: 17.10.2009
Сообщений: 46
По умолчанию

если вводить слова одинаковой длины то все работает, но не правильно пожалуста помогите исправить или укажите место ошибки
Ker_33rus вне форума Ответить с цитированием
Старый 28.11.2009, 14:57   #8
forsaken66
Куды бечь?
Форумчанин
 
Аватар для forsaken66
 
Регистрация: 05.10.2009
Сообщений: 104
По умолчанию

1) Ввод двух строк
2) Нужно использовать два цикла While. Во внешнем условие выхода - превышение длины строки 2. Во внутреннем - превышение длины строки 1.
Как то так) Пардон, на работе VS нету, так бы код предоставил. может даже верный код
Не хватало всего одного байта. Да-да, того самого, что из восьми бит состоит.
forsaken66 вне форума Ответить с цитированием
Старый 29.11.2009, 12:08   #9
Ker_33rus
Пользователь
 
Регистрация: 17.10.2009
Сообщений: 46
По умолчанию

спасибо попробуем, если все же будет возможность то выложи пожалуста код)
Ker_33rus вне форума Ответить с цитированием
Старый 05.12.2009, 14:12   #10
Ker_33rus
Пользователь
 
Регистрация: 17.10.2009
Сообщений: 46
Восклицание

Код:
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
 
#include <iostream>
#include <cstdlib>
#include <string.h>
using namespace std;
 
int main(int argc, char *argv[])
{
int i=0;
int j=0;
int b=0;
char x[10]={0};
char a[10]={0};
cout<<"Введите 1 слово"<<endl;
cin>>x;
cout<<"Введите 2 слово"<<endl;
cin>>a;
while (i<12)
{
while(j<11)
{
if (a[j]==x[i])
{
j++;
b=b+1;
}
else
{
i++;
}
}
}
if (b>=strlen(a))
{
printf("Возможно\n");
}
else
{
printf("Не возможно\n");
}
  return EXIT_SUCCESS;
}
траблы в том что в том что какие буквы(слова) не вводил бы, всегда пишит возможно, а также иногда выдает ошибку сегментирования, что делать, помогите!
Ker_33rus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку. vfrc Microsoft Office Excel 0 17.11.2009 23:31
Помогите исправить ошибку girkoff Общие вопросы C/C++ 2 28.10.2009 13:02
Помогите исправить ошибку masha17 Общие вопросы C/C++ 3 22.10.2009 14:21
Помогите исправить ошибку Ortega Общие вопросы C/C++ 6 04.06.2009 22:39
Помогите исправить ошибку! samuex Microsoft Office Word 1 24.02.2009 22:05