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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2010, 17:47   #1
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

Ребят есть такая задача.
Используя функции обработки строковых выделить лексемы. Я че-то не понял что имеяться ввиду в задачи. Я так понял есть текс "привет, как дела, пока" надо из этого текста выделить "как дела"?

Кароче я понял дан текст
Privet, kak dela, poka. надо выделить из него kak dela, вот начал делать а дальше не знаю как.

Код:
#include <iostream.h>
#include <conio.h>
#include <string.h>

int main()
{
char *p,*min,str[1000];
int minlen;
cin.getline(str,1000,'.');

p = strtok(str,",");
cout<<p;

Последний раз редактировалось Stilet; 09.03.2010 в 09:09.
Айдар вне форума Ответить с цитированием
Старый 08.03.2010, 18:48   #2
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Код:
#include <iostream.h>
#include <string.h>

int main()
{
	char str[255], *p;

	cout << "Input string: ";
	cin.getline(str, 255);

	cout << "Output strings: \n";

	p = strtok(str, ",");

	while(p)
	{
		cout << p << "\n";
		p = strtok(NULL, ",");
	}

	return 0;
}
profi вне форума Ответить с цитированием
Старый 08.03.2010, 18:57   #3
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

чето не правильно выводит,он выводит все после 1 запятой, а надо между 2 запятыми

Последний раз редактировалось Айдар; 08.03.2010 в 19:00.
Айдар вне форума Ответить с цитированием
Старый 08.03.2010, 18:59   #4
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

А с чего ты взял что лексема это только kak dela.
profi вне форума Ответить с цитированием
Старый 08.03.2010, 19:03   #5
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

нет ну мне учил сказал вывести текст, каторый находиться между запятыми
Айдар вне форума Ответить с цитированием
Старый 08.03.2010, 19:37   #6
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Код:
#include <iostream>

int main(void)
{	
    char str[255];
    int i;
    std::cin.getline(str,255);
    for(i = 0; str[i] != ','; i++);
    for(i++; str[i] != ',' && str[i] != '\0'; i++) std::cout << str[i];
    std::cin.get();
	return 0;
}

Последний раз редактировалось NiCola999; 08.03.2010 в 20:31.
NiCola999 вне форума Ответить с цитированием
Старый 08.03.2010, 20:16   #7
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

чето у меня на std ошибку даёт
Айдар вне форума Ответить с цитированием
Старый 08.03.2010, 20:34   #8
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

ниче не знаю) на DevC++ работает, если у тебя VC++ то там наверно надо stdafx.h подключить
NiCola999 вне форума Ответить с цитированием
Старый 08.03.2010, 20:41   #9
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

у меня borland c++

может есть способ без std?

Последний раз редактировалось Stilet; 09.03.2010 в 09:10.
Айдар вне форума Ответить с цитированием
Старый 08.03.2010, 21:22   #10
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

попробуй так... я не знаю как в борланде
Код:
#include <iostream>

using namespace std; // будет ругаться вобще убери

int main(void)
{	
    char str[255];
    int i;
    cin.getline(str,255);
    for(i = 0; str[i] != ','; i++);
    for(i++; str[i] != ',' && str[i] != '\0'; i++) cout << str[i];
    cin.get();
	return 0;
}
NiCola999 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi лексемы Toni Milano Помощь студентам 3 17.11.2009 07:30