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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2015, 19:42   #71
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

В общем не могу придумать как взять весь размер строки.
Код:
	int sizestring (string s)    //определяем размер строки
	{
		int size;
		for (int i = 0; i <= s.length(); i++)	size = i; // так же использовал sizeof(s), s.size(); 
//все до первого разделителя считаю строку, т.е. до пробела.
		return size;
Stilet а можно использовать метод Split(char c,string s), вместо Split(char c) ?

Последний раз редактировалось Dima-91; 01.12.2015 в 19:55.
Dima-91 вне форума Ответить с цитированием
Старый 01.12.2015, 19:59   #72
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем вам sizestring если у std::string уже есть метод возвращающий длину? И на предыдущей странице даже есть ссылка на список методов std::string.

И <= в цикле скорее всего неправильно, с 0 же нумерация.

Цитата:
все до первого разделителя считаю строку, т.е. до пробела.
Причем тут это вообще? Если строка содержит только данные до пробела, то проблема видимо в чтении из консоли или откуда там, а не в разделении.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 01.12.2015 в 20:02.
Alex11223 вне форума Ответить с цитированием
Старый 01.12.2015, 20:05   #73
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а можно использовать метод Split(char c,string s), вместо Split(char c) ?
Ну в ТЗ этого не сказано, так что это на твой страх и риск. Ты должен понимать, что заказчик кстати может забраковать такие энтузиазмы. Ну и если это серьезный заказчик - дело закончится судом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.12.2015, 20:05   #74
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Зачем вам sizestring если у std::string уже есть метод возвращающий длину? И на предыдущей странице даже есть ссылка на список методов std::string.

И <= в цикле скорее всего неправильно, с 0 же нумерация.
Английский на низком уровне. Сейчас с переводчиком попробую найти.
Я пока что для себя изучаю, во фриланс боюсь соваться, опыта нету)

size и length - Return length of string (public member function ). Только что то до первого слова они возвращают или "конструктор" неверен.
Код:
	int sizestring (string s)    //определяем размер строки
	{
		int size;
		for (int i = 0; i <= s.length(); i++)	size = i;
		return size;	//size возращает количество символов
	}
Alex11223 спасибо за ссылку.

Последний раз редактировалось Dima-91; 01.12.2015 в 20:11.
Dima-91 вне форума Ответить с цитированием
Старый 01.12.2015, 20:10   #75
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Причем тут фриланс вообще? Кто о нем говорил?

http://ru.cppreference.com/w/cpp/string/basic_string


Цитата:
Только что то до первого слова они возвращают или "конструктор" неверен.
Я ж выше написал про первое слово.

И вообще в процессе отладки надо не делать странные ни на чем не основанные выводы, а определять в чем именно проблема. Отладчик встроенный в IDE может помочь в этом.
Для начала надо на входные данные (функции, программы) смотреть.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 01.12.2015 в 20:16.
Alex11223 вне форума Ответить с цитированием
Старый 01.12.2015, 20:19   #76
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
http://ru.cppreference.com/w/cpp/string/basic_string


Я ж выше написал про первое слово.

И вообще в процессе отладки надо не делать странные ни на чем не основанные выводы, а определять в чем именно проблема. Отладчик встроенный в IDE может помочь в этом.
Для начала надо на входные данные (функции, программы) смотреть.
Вот сделал функцию вывода что бы проверять что получаю.
Код:
	void printsize (string s)
	{
		cout<<sizestring(s)<<"\n"; // выводит значение size которое должно быть равно длине строки
		Split(c,s); // разделяет строку если встречается символ разделитель (еще пока что не уверен что правильно сделано)
	}
Dima-91 вне форума Ответить с цитированием
Старый 01.12.2015, 20:24   #77
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И что?
Не верите, что стандартная функция правильно считает количество символов?
Очевидно дело в содержимом строки, а не в подсчете размера.

Поэтому следующий шаг — смотреть что именно содержится в строке и, если это не соответствует ожидаемому, искать на каком этапе работы программы оно стало таким.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.12.2015, 20:29   #78
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
И что?
Не верите, что стандартная функция правильно считает количество символов?
Очевидно дело в содержимом строки, а не в подсчете размера.

Поэтому следующий шаг — смотреть что именно содержится в строке и, если это не соответствует ожидаемому, искать на каком этапе работы программы оно стало таким.
В общем как я понял у меня когда я ввожу строку если разделить пробелом слово то строка на этом и заканчивается.

"
cin>>s;
cout<<s;
"
Если ввести мама;мыла; раму
Ответ мама;мыла;
Раму уже не считает после пробела

Последний раз редактировалось Dima-91; 01.12.2015 в 20:34.
Dima-91 вне форума Ответить с цитированием
Старый 01.12.2015, 20:32   #79
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну вот значит эту проблему и надо решать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.12.2015, 20:39   #80
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ну вот значит эту проблему и надо решать.
Ура решилась проблемка))
getline(); решает эту проблему. Спасибо Alex11223.
Код:
class SplitText
{
protected:
	char c;
	int size;
	string s;

public:
	int sizestring (string s)    //определяем размер строки // Вопрос это конструктор класса?
	{
		int size  = s.length()-1;
		return size;
		//size возращает количество символов
	}
	void Split(char c) //а войд метод раз ничего не возвращает?)
	{
		int k=0;
		for (int i = 0; i <= sizestring(s); i++)
		{
			if (s[i] == c)
			{
				k++;
				for ( int j = 0; j <= k ; j++) cout<<s[j];
				cout<<"\n";
			}
		}
	}
	void printsize (string s)
	{
		cout<<sizestring(s)<<"\n";
		Split(c);
	}

};

 int _tmain(int argc, _TCHAR* argv[])
{
   SplitText a;
	char c;
	string st;
	cout<<"Vvedite stroky"<<"\n";
	getline(cin,st);
	cout<<"Vvedite c"<<"\n";
	cin>>c;
	a.printsize(st);
	system("pause");
	return 0;
}
Split(char c) не рабочий начинаю только его.

Последний раз редактировалось Dima-91; 01.12.2015 в 20:57.
Dima-91 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что вас мотивирует, почему вы предпочитаете именно работу за компьютером, работу программиста? sgasgar Свободное общение 47 03.05.2016 07:27
Какая у вас была мотивация для начала и изучения программирования? monolit9951 Свободное общение 22 14.02.2014 19:57
Мотивация к программированию Nik_Parker Свободное общение 30 05.10.2013 19:12
Программирование, мотивация, перспективы Frants Свободное общение 6 03.10.2012 23:52