Generovani slov – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Generovani slov – C / C++ – Fórum – Programujte.comGenerovani slov – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
7. 5. 2014   #1
-
0
-

čaute, jak byste uplne nejjednodušeji udělali toto:

mam vytvorit hasovaci tabulku (500 slov), delka slova je 1 znak a maximálne 10 znaků a znaky se mají také náhodne generovat..??

díky :)

Nahlásit jako SPAM
IP: 195.146.125.–
Reklama
Reklama
Hajrus0
Newbie
7. 5. 2014   #2
-
+1
-
Zajímavé

Trochu bych to tu rozepsal.. Chceš aby to generovalo náhodná realná slova? nebo jen prostě nesmysly?.. A taky by mě zajímalo, proč tu každý píše o vypracování jeho domácího úkolu.. Pokud tě nebáví řešit problémy, hledání odpovědí, nebo samotné programování, neuč se programátorem..

Nahlásit jako SPAM
IP: 89.176.159.–
passingby
~ Anonymní uživatel
1 příspěvek
8. 5. 2014   #3
-
0
-

Hash table nebudu implementovat, na to nemám čas, ale algoritmus generování jsem ti napsal, uprav si to podle zadání.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

#define WORD_MIN_LEN 1
#define WORD_MAX_LEN 10

#define WORDS_COUNT 500

int
main (void)
{
	char words[WORDS_COUNT * (WORD_MAX_LEN + 1)];
	unsigned int rnd_w_len, rnd_w_char, words_buff_pos;
	int i, j;

	srand (time (NULL));

	memset (words, 0, sizeof (words));

	words_buff_pos = 0;

	for ( i = 0; i < WORDS_COUNT; i++ ){
		// Generate random length within range
		rnd_w_len = rand () % (WORD_MAX_LEN - WORD_MIN_LEN + 1) + WORD_MIN_LEN;

		fprintf (stderr, "Generating a word of length: %u B\n", rnd_w_len);

		for ( j = 0; j < rnd_w_len; j++ ){
			// Generate a random character in range 97 - 122 (ASCII lowercase alphabet)
			rnd_w_char = rand () % (122 - 97 + 1) + 97;
			
			words[words_buff_pos++] = rnd_w_char;
		}
		
		words[words_buff_pos++] = '\0';
	}

	fprintf (stderr, "Generated words:\n");

	words_buff_pos = 0;

	for ( i = 0; i < WORDS_COUNT; i++ ){
		fprintf (stdout, "%s\n", words + words_buff_pos);

		words_buff_pos += strlen (words + words_buff_pos) + 1;
	}


	return EXIT_SUCCESS;
}
Nahlásit jako SPAM
IP: 217.115.251.–
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, 104 hostů

Podobná vlákna

Generátor slov — založil marek

Ukladaní slov — založil Benjamin

Pocitanie slov — založil myth

Ukládání slov do pole — založil Lill

Moderátoři diskuze

 

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