Vyhledání slova v textovém souboru – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vyhledání slova v textovém souboru – C / C++ – Fórum – Programujte.comVyhledání slova v textovém souboru – C / C++ – Fórum – Programujte.com

 

nwn
~ Anonymní uživatel
6 příspěvků
14. 2. 2011   #1
-
0
-

Ahoj,potřebuju napsat program který vyhledá náhodné slovo v textovém editoru a vloží jej do proměné abych s tím slovem mohl pracovat,neví někdo jak na to?Dík za odpovědi.

Nahlásit jako SPAM
IP: 213.19.38.–
crAzY^
~ Moderátor
+10
Grafoman
14. 2. 2011   #2
-
0
-

náhodné slovo? no tak si všechny slova načti do pole a pak z nich náhodně jedno vylosuj... treba pomoci rand()

ps. nerozumím tomu "vyhledá náhodné slovo"

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
pakr93
~ Anonymní uživatel
19 příspěvků
14. 2. 2011   #3
-
0
-

Zdravím,
take moc tomu "vyhledá náhodné slovo" nerozumim, nemelo by to byt spis "vybere" :D ?
No nic, pokud byste preci jen chtel vyhledat nejake slovo, pouzil bych tridu string, konkretne metodu find, ta vraci pouze nejakou pozici, kde se dane slovo nachazi, ale s tim se da pohrat :-)

Nahlásit jako SPAM
IP: 81.201.60.–
nwn
~ Anonymní uživatel
6 příspěvků
14. 2. 2011   #4
-
0
-

já sem to někde viděl myslím že to bylo v nějakým tutorialu na šibenicu,ale tam sem to nepochopil protože to bylo moc dlouhý. vystvětlím trochu vyhledání náhodného slova :D že prostě budu mít textový soubor a tam budou slova na každým řádku bude 1 slovo ,a program určí náhodně jaky slovo se do té proměnné dá.potom to slovo v proměnné na něco použiju.Vím že by to šlo udělat jednodušejc že bych nemusel mít textový soubor,ale já chcu tam mít textový soubor aby si tam každej pár slov mohl přidat :D.

Nahlásit jako SPAM
IP: 213.19.38.–
crAzY^
~ Moderátor
+10
Grafoman
14. 2. 2011   #5
-
0
-

další otázka: v C nebo v C++???

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
crAzY^
~ Moderátor
+10
Grafoman
14. 2. 2011   #6
-
0
-

no to je jedno, v každém případě si to načti do pole, pak si vygeneruj náhodné číslo (podle prvků toho pole) a dosad ho jako index a mas nahodne slovo... pak samozrejme uvolni pamet toho pole...

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
nwn
~ Anonymní uživatel
6 příspěvků
14. 2. 2011   #7
-
0
-

Já se moc nevýznám v té funkci rand :D neví někdo jak to upravit,konzole mi začné pípat a napíše to program přestal pracovat

#include <iostream>

using namespace std;
int main(int argc, char *argv[])
{
string a[10];
a[0] = "slovo1";
a[1] = "slovo2";
a[2] = "slovo3";
a[3] = "slovo4";
a[4] = "slovo5";
a[5] = "slovo6";
a[6] = "slovo7";
a[7] = "slovo8";
a[8] = "slovo9";
a[9] = "slovo10";

srand( (unsigned)time( NULL ) );
a[0] = rand() % 10;
cout<<a[10]<<"\n";
system("PAUSE");
return EXIT_SUCCESS;
}

Nahlásit jako SPAM
IP: 213.19.38.–
crAzY^
~ Moderátor
+10
Grafoman
14. 2. 2011   #8
-
0
-

úpravy

#include <cstdlib>


// a v main
int randIndex = rand() % 10;
cout << a[randIndex] << endl;

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
nwn
~ Anonymní uživatel
6 příspěvků
14. 2. 2011   #9
-
0
-

Díky,už mi to funguje :)

#include <iostream>

#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
string a[10];
a[0] = "slovo1";
a[1] = "slovo2";
a[2] = "slovo3";
a[3] = "slovo4";
a[4] = "slovo5";
a[5] = "slovo6";
a[6] = "slovo7";
a[7] = "slovo8";
a[8] = "slovo9";
a[9] = "slovo10";
int randIndex;
srand( (unsigned)time( NULL ) );
randIndex = rand() % 9;
cout << a[randIndex]<<"\n";
system("PAUSE");
return EXIT_SUCCESS;
}

Nahlásit jako SPAM
IP: 213.19.38.–
nervak0
Věrný člen
14. 2. 2011   #10
-
0
-

10 a endl, hergot

Nahlásit jako SPAM
IP: 213.211.51.–
crAzY^
~ Moderátor
+10
Grafoman
14. 2. 2011   #11
-
0
-

To nervak : přesně tak, jak jsem už psal... pokud máš těch prvků v poli 10, tak tam musíš mít rand() % 10; a místo "\n"; hoď endl.

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
nwn
~ Anonymní uživatel
6 příspěvků
14. 2. 2011   #12
-
0
-

jj,tu 10 sem zapoměl,sem se nějak spletl, ale nevysvětlil by mi ještě někdo pls jakej je rozdíl mezi "\n" a endl mě to připadá stejný.

Nahlásit jako SPAM
IP: 213.19.38.–
crAzY^
~ Moderátor
+10
Grafoman
14. 2. 2011   #13
-
0
-

je to kvůli tomu, že různé OS používají jiné konce řádků... endl použije vždy ten, který OS vyžaduje.

a endl flushuje stream... volá flush() metodu objektu ostream.

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
nwn
~ Anonymní uživatel
6 příspěvků
14. 2. 2011   #14
-
0
-

Dík,to sem nevěděl ,jsem si vžycky myslel že v C je to endl a v C++ "\n" :d.

Nahlásit jako SPAM
IP: 213.19.38.–
crAzY^
~ Moderátor
+10
Grafoman
14. 2. 2011   #15
-
0
-

v C endl snad ani neexistuje :)

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý