![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Bartman2D |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.10.2010 Репутация: нет Всего: нет |
Помогите пожалуйста написать программу. Суть программы заключается в том, что: "Даны два предложения. Для каждого слова первого предложения определить, входит ли оно во второе предложение." Уже несколько дней делаю ничего не выходит.
что-то такое нарисовалось, дальше додумать не могу. Может быть предложите альтернативный вариант решения? Это сообщение отредактировал(а) Bartman2D - 10.10.2010, 14:16 |
|||
|
||||
Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
Добавлено через 38 секунд Спрашивайте если что-то непонятно. |
|||
|
||||
Bartman2D |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.10.2010 Репутация: нет Всего: нет |
УУУУУ Для меня это темный лес что вы написали, я только новичек. мы программируем, на с++, а там вроде из с элементов много. ну и практически все операторы я не знаю) да и библиотеки такие впервые вижу, синтаксис для меня другой. я ничего не понял и этот код на данный момент изучения мне не возможно объяснить. но спасибо, что откликнулись.
мне надо это реализовать с помощью библиотек #include <stdio.h> #include <math.h> #include <string.h> Мы только операторы этих библиотек прошли ну и ещё нескольких. Это сообщение отредактировал(а) Bartman2D - 10.10.2010, 15:28 |
|||
|
||||
vnf |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
Bartman2D, ваш код написан на чистом С, код Crafty - чистый С++ с STL. Вам как надо?
|
|||
|
||||
Bartman2D |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.10.2010 Репутация: нет Всего: нет |
О_о я нуб. нам сказали, что изучаем чистый С++. Вот и пишу в таком стиле, как учат. Что за библиотека <vector> я не знаю. using std::vector; using std::string; using std::cout; using std::endl; и вот такие конструкции я впервые вижу, мы их никогда не использовали. |
|||
|
||||
Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
Вот на С
Это сообщение отредактировал(а) Crafty - 10.10.2010, 15:47 |
|||
|
||||
Bartman2D |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.10.2010 Репутация: нет Всего: нет |
Это попонятней. Спасибо, но есть вопрос.
strstr strtok - что это за функции? но и как вижу в вашем примере строки уже даны( это конесно легко), но мне нужно, чтобы строки вводил пользователь. Это сообщение отредактировал(а) Bartman2D - 10.10.2010, 16:32 |
|||
|
||||
Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
strstr(const char * str1, const char * str2) - возвращает указатель на первое вхождение подстроки str2 в строке str1. Подробнее тут.
strtok - использую для разделения строки на отдельные слова. Подробнее тут.
А в чём проблема сделать ввод пользователем? |
|||
|
||||
Bartman2D |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.10.2010 Репутация: нет Всего: нет |
спасибо, полезные функции. ) |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Bartman2D, своему преподу ты скажи, что тебя с твоим "С++" тебя на форуме послали. И сказали что это "С".
А С++ это совершенно другой язык! Добавлено через 28 секунд
|
|||
|
||||
fuckingniger |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 1.10.2010 Репутация: нет Всего: 1 |
не думаю что им можно использовать готовые функции)
надо самому написать их) Добавлено через 7 минут и 53 секунды если не додуматься самому то вводишь в гугле алгоритм поиска слова в тексте |
|||
|
||||
Logree |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 22.11.2006 Где: Самара Репутация: нет Всего: 2 |
Они изучаю язык Си ну или как там говорит его преподаватель "чистый C++", данные функции часть стандартной библиотеки языка(входят в него), а значит являются объектом изучения => использовать данные функции - нужно. А построение "таких" алгоритмов проходят на паскале.
-------------------- Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд. |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Нужно, но только на курсе языка Си. Уже миллион раз был холивар на тему С++ против Си... ЭТО РАЗНЫЕ ЯЗЫКИ И ВМЕСТЕ ИХ УЧИТЬ НЕЛЬЗЯ!!! Если ты не знаешь ни одного из них, а выучить хочешь оба, то сначала нужно выучить С++, а потом уже доучить Си. Наоборот выйдет дольше и корявее. Это сообщение отредактировал(а) bsa - 11.10.2010, 09:50 |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
>сначала нужно выучить С++, а потом уже доучить Си. Наоборот выйдет дольше и корявее.
Все с точностью до наоборот. Препод правильно делает, что сначала учит их си. От простого к сложному. Bartman2D, если от вас требуется понять алгоритмот А до Я, почитайте про strtok и strstr и напишите свои аналоги. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
djamshud, имхо, программировать нужно учиться на языке типа паскаля (или бейсика), чтобы ничего не отвлекало. Программу написать на С++ проще, чем на С. Но выучить второй проще. Зато С++ очень сложно учить после С, так как постоянно пытаешься использовать приемы из С, что сильно усложняет процесс обучения.
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
и если продолжать программировать си-приемами на С++, то так и не сможешь использовать силу C++, а в душе будет расти негодование типа "ООП must die" ![]() надеюсь никто не обидится ![]() |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
bsa, имхо си можно отнести в категорию паскаля в смысле простоты первоначального изучения языка и дальнейшей прокачки алгоритмических навыков.
>Программу написать на С++ проще, чем на С. Большую и жирную - да. Маленькую, да еще и в академических целях - нет. В этом топике два примера реализации - лаконичный, элегантный и, что в процессе обучения очень важно, очевидный на си и синтаксически тяжелый на плюсах. >Зато С++ очень сложно учить после С, так как постоянно пытаешься использовать приемы из С, что сильно усложняет процесс обучения. Это можно сказать о любой паре не почти одинаковых языков. После изучения своего первого языка, дальнейшие стоит осваивать начиная с парадигм, в них заложеных - в таком случае проблемы минимизируются. Если подходить "в лоб", то при изучении в порядке C++ -> C то же самое на С будут использовать приемы из С++. Добавлено через 3 минуты и 24 секунды mes, я отлично знаю С++ и достаточно хорошо ОО-проектирование в целом. И использую плюшки по назначению, а не абы как:). /me не обиделся. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
имхо, объективно это далеко не то же самое ![]()
я не упрекал Вас в незнании, а наоборот остерегался, что воспримете на свой счет.. но Ваша "цитата" уж больно подходила для данного случая ![]() |
||||
|
|||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
mes, под "то же самое" я имел в виду, что человек все равно наступит на грабли, пусть и на другие. Языки изучать с умом надо, вот и все.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
Bartman2D |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.10.2010 Репутация: нет Всего: нет |
Да ладно вам холивары устраивать. Все сделал, сдал. Тема закрыта, код вот:
Это сообщение отредактировал(а) Bartman2D - 11.10.2010, 15:39 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
||||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
xvr,
эта? или где? =) п.с. чисто для себя искал Это сообщение отредактировал(а) toxx - 11.10.2010, 17:12 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Удивительно, что компилятор предупреждение не кинул... Цикл же никогда даже один раз не выполнится!!!
Я уж не говорю про последовательное использование strtok... Такое ощущение, что при проверке даже не запускали... |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
мде, вот и написал...сдал и забыл образование на высоте =)
|
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Пардон, 3 ошибки ![]() Эта, плюс лишний strtok в строке 25, плюс поиск по strstr - он не различает границы слов. Т.е. слово abr будет найдено в строке abrakadabra, а не должно ![]() Добавлено через 1 минуту и 30 секунд Да, и еще ошибка в while (даже если заменить = на ==). Там должно быть != Так что 4 ошибки |
||||
|
|||||
ncr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 10.5.2010 Репутация: нет Всего: нет |
В копилку: если пользователь введёт больше ста символов - будет "ой".
Ну и использование SetConsoleCP / SetConsoleOutputCP для вывода русского текста - моветон, равно как и "магическое число" 1251 в качестве аргумента. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Можно организовывать конкурс - кто найдет больше ошибок
![]() |
|||
|
||||
Bartman2D |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.10.2010 Репутация: нет Всего: нет |
Да, начал перебирать заново прогу, передалал кучу всего. Хватит меня тут материть, я к тому времени Си изучал 2недели.
И "!" Случайно упущен, при сдаче он был, да и strstr я замеенил на strcmp, если возвращает 0 то вывести слово на экран. Это сообщение отредактировал(а) Bartman2D - 1.11.2010, 18:22 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |