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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2010, 05:16   #11
sever-42
Пользователь
 
Регистрация: 22.04.2010
Сообщений: 96
По умолчанию

Писал уже раньше, был уже тут такой вопрос, причем в первый раз было быстрее...и реализовать получилось красивее.
пришлось помучиться...
Немного поправил:
Код:
#include <iostream>
using namespace std;

struct m_w {
	char word[20];
	int count;
	m_w() : count(0) {*word = '\0';}
};

void buf_cpy(char *str, char *buf, int beg, int end)
{
	int i, j;

	for (i = 0, j = beg; j < end; ++i, ++j) {
		buf[i] = str[j];
	}
	buf[i] = '\0';
}

int main(int argc, char *argv[])
{
	int i, j, i_w, c_w = 0;
	m_w word[20];
	char buf[20];
	char str[80] = "bbb,ddd,aaa,ddd,aaa,ccc,eee.";

	for (i = 0, j = 0; str[i]; ++i) {
		if (str[i] == ',' || str[i] == '.') {
			buf_cpy(str, buf, j, i);
			j = i+1;
			for (i_w = 0; i_w <= c_w; ++i_w) {
				if (!strcmp(buf, word[i_w].word)) {
					word[i_w].count++;
					break;
				}
				else if (!word[i_w].count) {
					strcpy_s(word[i_w].word, buf);
					word[i_w].count++;
					++c_w;
					break;
				}
			}
		}
	}
	for (i = 0; word[i].count; ++i)
		if (word[i].count == 1)
			cout << word[i].word << endl;
	return 0;
}
include <Qt>

Последний раз редактировалось sever-42; 02.07.2010 в 06:06.
sever-42 вне форума Ответить с цитированием
Старый 02.07.2010, 08:59   #12
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Цитата:
void buf_cpy(char *str, char *buf, int beg, int end)
а как же strncpy?

Последний раз редактировалось NiCola999; 02.07.2010 в 09:01.
NiCola999 вне форума Ответить с цитированием
Старый 02.07.2010, 10:51   #13
sever-42
Пользователь
 
Регистрация: 22.04.2010
Сообщений: 96
По умолчанию

можно и так
Код:
buf_cpy(str, buf, j, i)
==>
Код:
strncpy(buf, str+j, i-j);
buf[i-j] = '\0';
include <Qt>
sever-42 вне форума Ответить с цитированием
Старый 02.07.2010, 12:36   #14
Darknes
Пользователь
 
Аватар для Darknes
 
Регистрация: 28.06.2010
Сообщений: 40
По умолчанию

спасибо конечно за коды но
я писал:Дана последовательность от 1 до 30 слов к каждом слове от 1 до 5 латинских букв после каждого слова зяпатая в конце точка напечатать все слова которые встречаются по 1 разу.
Я все ввожу с клавы. Как быть незнаю. У меня это практика из 5 прог она последняя сдавать 9 июля препод помогать нехочет говорит сам думай а я незнаю.
Darknes вне форума Ответить с цитированием
Старый 02.07.2010, 12:48   #15
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

1. Вводим число слов в последовательности
2. Создаем массив слов соответствующего размера
3. Вводим массив слов
4. Сортируем массив слов
5. Для всех слов, кроме крайних проверяем если
Код:
слова[i] != слова[i - 1] && слова[i] != слова[i + 1]
то это слово одно в последовательности, выводим его. Для крайних то же самое, только у них по одному соседу.
Естественно, если слова char* а не std::string, то для сравнения используем функцию strcmp.

Дальше дело за реализацией.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3. Вывести номер строки наименьшего элемента в двумерном массиве zebatic Помощь студентам 1 11.06.2010 00:14
Как можно обратиться к элементу строки в двумерном массиве ? fermerius Помощь студентам 1 06.02.2010 19:14
Как найти в двумерном массиве МАХ элемент каждой строки? Jasper92 Общие вопросы C/C++ 9 16.12.2009 12:58
Строки в Двухмерном массиве Pascal program123 Помощь студентам 3 05.06.2009 22:21
Как удалить строки и столбцы в массиве ЛесенОК Свободное общение 1 31.01.2009 18:35