Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

текс файл слова

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> текс файл слова
Имя
Сообщение << Старые топики   Новые топики >>
текс файл слова - 2011-04-05 18:09:19.913333   
yuliyayuliya

Сообщений: 2
Оценки: 0
Присоединился: 2011-04-05 17:02:27.936666
Дан файл содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз и записать в том порядке в котором они встречаются в тексте.

помогите прошу….то что написала не работает(
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int main()
{ string s;

int i=0;
while ( getline(cin,s) )
{ s=!s[i+1];
cout<<s;
i++;
}
_getch();
return 0;
}
Post #: 1
RE: текс файл слова - 2011-04-05 18:27:25.183333   
slipslop

Сообщений: 115
Оценки: 0
Присоединился: 2010-12-27 20:21:35.253333
Как же меня бесят люди, которые начинают пост с задания из методички…

Код, кстати, не твой, явно.
Post #: 2
RE: текс файл слова - 2011-04-05 18:37:59.466666   
slipslop

Сообщений: 115
Оценки: 0
Присоединился: 2010-12-27 20:21:35.253333
Хотя с другой стороны тырить такой корявый код тоже глупо.
Post #: 3
RE: текс файл слова - 2011-04-05 19:24:37.773333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
=! - кстати, это скомпилируется, но результат автора не порадует.
Post #: 4
RE: текс файл слова - 2011-04-06 15:35:35.673333   
vvviperrr

Сообщений: 301
Оценки: 0
Присоединился: 2007-03-20 21:33:16.790000
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iterator&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; int main() { &nbsp;&nbsp; vector&lt;char&gt; v; &nbsp;&nbsp; fstream f("path_to_file"); &nbsp;&nbsp; copy(istream_iterator&lt;char&gt;(f), istream_iterator&lt;char&gt;(), back_inserter(v)); &nbsp;&nbsp; for (vector&lt;char&gt;::const_iterator i = v.begin(), j; i != v.end(); ++i) { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (j = v.begin(); j != v.end(); ++j) { &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (j == i) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; continue; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (*j == *i) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (j == v.end()) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cout &lt;&lt; *i &lt;&lt; endl; &nbsp;&nbsp; } &nbsp;&nbsp; &nbsp;&nbsp; return 0; }
Post #: 5
RE: текс файл слова - 2011-04-06 20:30:38.253333   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
Вайпер спалится чел с таким кодом на такой простой задаче…мы когда решали такие задачи решали их более длинным но простым кодом…
Post #: 6
RE: текс файл слова - 2011-04-06 23:01:52.283333   
vvviperrr

Сообщений: 301
Оценки: 0
Присоединился: 2007-03-20 21:33:16.790000
2shkolote attake
ну напиши ему более простым, в чем проблема то. а спалится или нет это меня не касается

могу предложить такой вариант, немного оптимизированный по времени

#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iterator&gt; #include &lt;vector&gt; #include &lt;map&gt; #include &lt;algorithm&gt; using namespace std; int main() { fstream f("file_name"); map&lt;char, int&gt; symCount; vector&lt;char&gt; symList; for (istream_iterator&lt;char&gt; It(f); It != istream_iterator&lt;char&gt;(); ++It) { if (symCount.find(*It) == symCount.end()) symList.push_back(*It); symCount[*It]++; } for (vector&lt;char&gt;::const_iterator It = symList.begin(); It != symList.end(); ++It) if (symCount[*It] == 1) cout &lt;&lt; *It &lt;&lt; endl; return 0; }
ну и докучи, раз уж речь пошла про "проще", то проще вообще так :)
l = open("file_name", "r").read() print "".join([i for i in l if l.count(i) == 1])
Post #: 7
RE: текс файл слова - 2011-04-08 13:33:09.076666   
BrainKill

Сообщений: 18
Оценки: 0
Присоединился: 2011-04-04 01:57:14.586666
quote:

ORIGINAL: yuliyayuliya

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

помогите прошу….то что написала не работает(
#include "stdafx.h"
#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;string&gt;
using namespace std;
int main()
{ string s;

int i=0;
while ( getline(cin,s) )
{ s=!s[i+1];
cout&lt;&lt;s;
i++;
}
_getch();
return 0;
}


Ну в коде явно не хватает оператора if, да и вообще этот код будет работать неправильно, советую написать самой код по шагам. Проверяешь первый элемент с каждым элементом массива, если совпадает, "break". Если достиг EOF, то выводим символ на экран.

Еще можно внести переменную boolean.

Способов много, главное желание.
Post #: 8
RE: текс файл слова - 2011-04-08 19:51:37.033333   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
чел если тебе это ещё акктуально(напиши в личку) напишу на выходных этих если время будет….
Post #: 9
RE: текс файл слова - 2011-04-09 03:06:19.013333   
BrainKill

Сообщений: 18
Оценки: 0
Присоединился: 2011-04-04 01:57:14.586666
.del
Post #: 10
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> текс файл слова







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.