Tworzenie tzw. Słowników

0

Witam!

Mam mały problem.
Jak zrobić w C++ program, który stworzy mi słownik w danym katalogu, czyli np na samym początku mnie się pyta o:

  1. Podaj litery, które zostaną wykorzystane w słowniku: (i tu podaje te literki) abcdefgh1234[]';/.><
  2. Podaj minimum znaków w słowniku: 3
  3. Podaj maksimum znaków w słowniku: 20
  4. Na ile plików rozłożyć słownik: 5

upps. niedokończyłem...
to dalej :)

  1. podaj katalog, wk tórym mają się znajdować pliki słownika:
  2. Czy na pewno chcesz stworzyć ten słownik ?? Yes/No

i tak... jeżeli nacisnę Y to zacznie się proces tworzenia słownika na podstawie tych danych, które zostały wyżej podane. Prócz tego ma się wyświetlać ilość wolnego miejsca co 30s.
Jak takie cośzrobić???
Proszę o pomoc ...

0

Twoj problem dziwnie mnie niepokoi :)

0

I pewnie innych studentow, ktorzy woleli isc na browar niz sie uczyc programowania ;P

0

Akurat program mi jest bardziej potrzebny na zaliczenie niż dla własnych potrzeb... :)
Tak więc czekam na pomoc [???]

0

MitS: o tym wlasnie mowie :)
Jawna ignorancja :P

0

Ja wiem o co ci chodzi, ale lordqq najwyraźniej podejrzewa że program miał by służyć do innych celów ... ;P A może wiesz jak to zrobić ??

Jeżeli nikt nie wie to może jakaśwskazówka dotycząca generowania samego słownika??? Czyli np.:
aaa
aab
aac
itd. i aby to zapisywało do danego pliku...

Help me !!!

0

Hehe - mam taki program - sam go napisałem - w dodatku można podać maskę a nie tylko długości :) ale... 100% pure 32-bit Assembler :D
Mogę udostępnić exe :P

A co do C++...
zrób sobie tablicę intów np:

int[] indexy = {0, 0, 0, 0}; //dla 4 znaków

i tablicę znaków, które user poda:

char[] znaki = "abcdefg";

i w pętli jedziesz (totalnie nieoptymalny pseudokod w celach dydaktycznych):

wynik = znaki[indexy[0]] + znaki[indexy[1]] + znaki[indexy[2]] + znaki[indexy[3]];
indexy[3]++;
if (indexy[3] == znaki.lenght())
{ indexy[3] = 0;
  indexy[2]++;  //i tu znów powinno być if (indexy[2] == znaki.lenght())
}

kumasz? jak pisałem - ten kod tylko do wyjaśnienia - absolutnie tak nie pisz - np. takie ify z indeksami na stałe ;)

0

To jest ok:) kumam to tylko mam jeszcze jedno zapytanie, a mianowicie jak zrobić tak gdy user poda np. ilość plików słownika (np. 4) to program będzie tworzył w tych 4 plikach słownik jednocześnie i przy tworzeniu zapisał je do plików (np. slow1, slow2, slow3, slow4). Jeżeli by user podał że do 6 to słownik tworzy dalej ... slow5, slow6 itd. ???

Ps. Dzięki za ten przykład:)

0

Nie kumam podziału. Że jak masz np. 3 pliki, to pierwsze, czwarte, siódme... słowo idzie do 1 pliku, drugie, piąte, ósme do 2 pliku a trzecie, szóste i dziewiąte idzie do 3 pliku?

0

Nie dokońca...

Przykładowo jest coś takiego:

int n, a, b, c;

cout << "Wpisz liczbę plików na które ma się dzielić słownik: ";
cin >> n
cout << endl << "Wpisz zakres słownika w pierwszym pliku: ";
cin >> a; 
cout << endl << "Wpisz zakres słownika w drugim pliku: ";
cin >> b; 
cout << endl << "Wpisz zakres słownika w trzecim pliku: ";
cin >>c; 

itd.

np. typ w pierwszym słowniku zakres wybiezre 0-4 to będfzie to wyglądało tak:
a
b
...
z
aa
ab
ac
...
az
...
zz
aaa
aab
...
zzz
aaaa
...
zzzzz

i to jest pierwszy plik.
teraz drugi plik- typ wskazał wartość 6-9
czyli idzie od 6 wartości do 9 itd.

Chyba dość jasno to opisałem :)

0

Aha jeszcze do tego tematu zapomniałem dodać, że jeszcze nie wiem jak zrobić by było zaznaczenie pewnej części i strzałkami się przechodziło na drugą....
Chyba nie bardzo to wytłumaczyłem, więc narysuje:

|----------||----------|
| Yes || No |
|----------||----------|

Coś takiego ;P ??

1 użytkowników online, w tym zalogowanych: 0, gości: 1