[C++] Losowanie z tablicy

barbak1992
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 29 mar 2013, o 13:27
Płeć: Mężczyzna
Lokalizacja: polska
Podziękował: 2 razy

[C++] Losowanie z tablicy

Post autor: barbak1992 »

czesc
mam do napisania taka funkcje :
napisz funkcje w ktorej utworzysz tablice o zadanym rozmiarze i wypełnij ja losowo literami alfabetu;

Kod: Zaznacz cały

void Alfa(char* tabl, int roz)
{	
	int* tabl=new int;
	
	int losowanie=tabl[rand()%25];


}
int main()
{ 
	

	int roz;
	cout<<"podaj rozmiar tablicy"<<endl;
	cin>>roz;
	

	char alfa[25]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','v','x','y','w','z'};


system("pause");
return 0;
}
ktos mi poprawi ten kod blagam, nie wiem jak sie losuje znaki z tablicy...
Ostatnio zmieniony 5 kwie 2013, o 16:59 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Awatar użytkownika
Errichto
Użytkownik
Użytkownik
Posty: 1629
Rejestracja: 17 mar 2011, o 18:55
Płeć: Mężczyzna
Lokalizacja: Suwałki
Podziękował: 28 razy
Pomógł: 272 razy

[C++] Losowanie z tablicy

Post autor: Errichto »

Kod: Zaznacz cały

char tab[100];
for(int i=0;i<roz;i++) tab[i]=alfa[rand()%25];
barbak1992
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 29 mar 2013, o 13:27
Płeć: Mężczyzna
Lokalizacja: polska
Podziękował: 2 razy

[C++] Losowanie z tablicy

Post autor: barbak1992 »

jeszcze cos mi nie gra

Kod: Zaznacz cały

void Alfa(char* tabl, int roz)
{	
	int* tab=new int;        //takie pytanie czy nie powinno tutaj byc int *char=new char?? czy to zawsze jest int?? i czy to powinno byc w mainie czy moze byc tutaj??
	
	char tab[100];
	for(int i=0;i<roz;i++) 
	tab[i]=tabl[rand()%25];
	cout<<tab[i];      //czy tak mam wyswietlic te wylosowane liczby??




}
int main()
{ 
	

	int roz;
	cout<<"podaj rozmiar tablicy"<<endl;
	cin>>roz;
	

	char tabl[25]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','v','x','y','w','z'};


system("pause");
return 0;
}
oprocz tego czy ta funkcja powinna byc void? wydaje mi sie ze tak ale nie jestem pewnien bo niby zwraca wylosowane wartosci?? i czy mam jeszcze jakies bledy??
Awatar użytkownika
Errichto
Użytkownik
Użytkownik
Posty: 1629
Rejestracja: 17 mar 2011, o 18:55
Płeć: Mężczyzna
Lokalizacja: Suwałki
Podziękował: 28 razy
Pomógł: 272 razy

[C++] Losowanie z tablicy

Post autor: Errichto »

Jeśli w treści zadania nie ma, że funkcja ma zwracać tę tablicę, to może zostać void (ale nie musi). Gdzieś w main przydałoby się jeszcze tę funkcję wywołać. Nie rozumiem co ma robić linijka "int* tab=new int; " więc co do tego się nie wypowiem. Wypisywanie musisz dać w pętli - obecnie ta funkcja wypisuje jedną zmienną i za bardzo nie wiadomo jaką - tab, gdzie nie znamy i.
barbak1992
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 29 mar 2013, o 13:27
Płeć: Mężczyzna
Lokalizacja: polska
Podziękował: 2 razy

[C++] Losowanie z tablicy

Post autor: barbak1992 »

int* tab=new int; ta linijka ma tworzyc tablice o zadanym rozmiarze( alokacja tablicy dynamicznej??)

-- 5 kwi 2013, o 15:44 --

działa!

Kod: Zaznacz cały

void Alfa(char* tabl, int roz)
{	
	char* tab=new char;
	
	for(int i=0;i<roz;i++) 
	{tab[i]=tabl[rand()%25];
	cout<<tab[i]<<endl;
	}



}
int main()
{ 
	

	int roz;
	cout<<"podaj rozmiar tablicy"<<endl;
	cin>>roz;
	

	char tabl[25]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','v','x','y','w','z'};
	Alfa(tabl,roz); 

system("pause");
return 0;
}
dzieki za pomoc:)
Awatar użytkownika
Errichto
Użytkownik
Użytkownik
Posty: 1629
Rejestracja: 17 mar 2011, o 18:55
Płeć: Mężczyzna
Lokalizacja: Suwałki
Podziękował: 28 razy
Pomógł: 272 razy

[C++] Losowanie z tablicy

Post autor: Errichto »

Jeszcze dwie rzeczy dodam, takie drobiazgowe już:
1) alfabet ma 26 literek czyli coś zgubiłeś
2) Zamiast wypisywać literki możesz całkowicie wywalić tablicę trzymającą alfabet i zmienić linijkę z losowaniem na taką:

Kod: Zaznacz cały

tab[i]='a'+rand()%26;
Po wylosowaniu np. piątki pojawi się \(\displaystyle{ a+5=f}\)
ale to tylko taka ciekawostka.
Ser Cubus
Użytkownik
Użytkownik
Posty: 1406
Rejestracja: 6 maja 2012, o 22:46
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 107 razy
Pomógł: 145 razy

[C++] Losowanie z tablicy

Post autor: Ser Cubus »

Errichto, indeks o numerze 0 jest pierwszy, tak więc mamy 26 pozycji
Awatar użytkownika
Errichto
Użytkownik
Użytkownik
Posty: 1629
Rejestracja: 17 mar 2011, o 18:55
Płeć: Mężczyzna
Lokalizacja: Suwałki
Podziękował: 28 razy
Pomógł: 272 razy

[C++] Losowanie z tablicy

Post autor: Errichto »

a ostatni jest \(\displaystyle{ 24}\) więc dalej obstawiam \(\displaystyle{ 25}\) pozycji czyli jedną za mało. Brakuje literki 'q' konkretnie.
Ser Cubus
Użytkownik
Użytkownik
Posty: 1406
Rejestracja: 6 maja 2012, o 22:46
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 107 razy
Pomógł: 145 razy

[C++] Losowanie z tablicy

Post autor: Ser Cubus »

ehh, chyba muszę odpocząć

oczywiście masz rację
ODPOWIEDZ