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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2018, 16:38   #1
reeeer
 
Регистрация: 10.11.2018
Сообщений: 8
По умолчанию Разбить строку на отдельные слова

Задана последовательность идентификаторов (разделителем является запятая), оканчивающаяся точкой сразу за последним идентификатором. Каждый идентификатор содержит не более 40 символов.
Длина последовательности не боле 30 идентификаторов. Найти и напечатать все идентификаторы с четным числом символов в них.

Пример: строка"wert,ertyu,er5678,fghjui."
="wert","ertyu","er5678","fghjui "

Подскажите как разбить строку на массив элементами которого будут слова ну или как еще можно выполнить задание
вот что пока сделал:
Код:
int str_len(char *str) {
	int i = 0;
	while (str[i] != '\0') {
		i++;
	}
	return i;
}

int main(int argc,char **argv) {
	setlocale(LC_ALL, "Rus");
	char str[N], w[N];
		int i=0, l;
		printf("Введите последовательность идентификаторов через запятую,точка--конец ввода\n");
		gets(str);
		l =str_len(str);
		while (i < l) {
			if (str[i] != ',') {
				i++;
				
			}
			else
				break;
		}
		printf("%d", i);						
	return 0;
}

Последний раз редактировалось reeeer; 25.11.2018 в 17:00.
reeeer вне форума Ответить с цитированием
Старый 25.11.2018, 16:53   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

strtok
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.11.2018, 16:56   #3
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Запроси Сеть: Работа со строками <язык>
<язык> - тут укажи язык программирования.
В Си есть функции определения длинны строки, поиск подстроки (это тебе надо использовать для поиска запятой) и много других полезных ...
Массив создавать не надо. Выделил слово, определил длину, определил четность - вывел, если необходимо.
Цитата:
Найти и напечатать все идентификаторы с четным числом цифр в них.
Уточни, что тебе надо найти. С четным числом цифр или четным числом символов?
Если второй вариант, то ещё необходимо и со словом поработать, определяя число цифр в идентификаторе.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 25.11.2018, 17:18   #4
reeeer
 
Регистрация: 10.11.2018
Сообщений: 8
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Выделил слово, определил длину, определил четность - вывел, если необходимо.
вроде вот так
Теперь не могу разобраться как сделать чтобы вместе со словами не выводились запятые после них
Код:
int main(int argc,char **argv) {
	setlocale(LC_ALL, "Rus");
	char str[N], w[N];
		int i, l,j;
		printf("Введите последовательность идентификаторов через запятую,точка--конец ввода\n");
		gets(str);
		l =str_len(str);
		
		int b = 0, e = 0, k = 0;
		for (i = 0; ; i++) {
			char x = str[i];
			if (x == ',' || x == '\0') {
				if (k % 2 == 0) {
					printf("\"");
					for (j = b; j <= e; j++)
						printf("%c", str[j]);
					printf("\"");
				}
				if (x == '\0') { 
					printf("\n");
					break; 
				}
				else printf(",");
				e = b = i + 1;
				k = 0;
				continue;
			}
			if ('0' <= x && x <= '9') k++;
			e++;
		}
reeeer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разбить на отдельные функции romanu416 Общие вопросы C/C++ 0 08.11.2013 14:01
в заданной строке символов (отдельные слова, разделенные пробелом) найти слова с совпадающими первой и последней буквами (С++) T_h_i_s Помощь студентам 0 19.11.2012 18:37
php регулярное выражение - разбить строку на слова [MoNAMur] PHP 0 09.03.2012 15:20
Разбить текст на отдельные листы valerij Microsoft Office Word 2 12.12.2010 23:15
Разбить дату на отдельные ячейки ДД ММ ГГ Александр25 Microsoft Office Excel 5 04.03.2010 19:07