Licznik w VB 2005

WItam! Musze do szkoly napisac program w ktorym po wpisaniu jakiegokolwiek slowa poda on ile liter jest i na jakiej pozycjo te litery sa w danym slowie. Np jesli sie wpisze "hipopotam" to program powie cos takiekie: w slowie "Hipopotam" jest 9 liter wtym 1-h na pozycji 1, 1-i na pozycji 2, 2-p na pozycji 3 i 5, 2-o na pozycji 4 i 6, 1-t na pozycji 7, 1-a na pozycji 8, 1-m na pozycji 9. Udalo mi sie zrobic aby program podawal ile liter ma wyraz i nawet udalo mi sie cos wykombinowac ze podaje jaka litera jest na jakiej pozycji ale podaje mi pojedyncze litery wiec jesli jakies sie powtarzaja to jest kiszka i w moim przypadku program dziala tylko z 8 literowymi wyrazami a powinien dzialac z obojetnie jak krotkimi czy dlugimi wyrazami. To co udalo mi sie zrobic mozna sciagnac tutaj: http://www.sendspace.com/file/dpzr6y Jesli ktos bylby tak mily i chcial mi pomoc to dzieki wielkie. Pozdrawiam!

Odpowiedzi: 2

Sprawdzalem i dziala. To jest stosunkowo latwy kod wiec jak wrzucisz to do jakiegos konwertera C# to VB to powinienes otrzymac dzialajacy kod pod Visual Basic.Oczywiscie dobry posunieciem byloby zastosowanie ArrayList zamiast zwyklej deklaracji tablicy. Pozwoliloby Ci to na dynamiczne przydzielanie pamieci dla tablicy :] Powodzenia [code]int z = 0; int a = 0; string wyraz = "onomatopeja"; string rezultat = ""; string pozycje = ""; int[] tab = new int[15]; for (int i = 0; i < wyraz.Length; i++) { // to sprawdza czy aktualny znak nie byl juz na wczesniejszej pozycji for (int j = 0; j < i; j++) { if (wyraz[j] == wyraz[i]) { a = 1; break; } else { a = 0; } } // jesli nie byl to dodaje do tablicy wystapienia tego znaku w wyrazie if (a == 0) { for (int k = 0; k < wyraz.Length; k++) { if (wyraz[k] == wyraz[i]) { tab[z]++; pozycje = pozycje + (k+1).ToString() + " "; } } rezultat = rezultat + wyraz[i] + " wystapilo " + tab[z].ToString() + " razy na pozycjach: " + pozycje + "\n"; z++; pozycje = ""; } } MessageBox.Show("Wyraz: " + wyraz + "\n" + "Długość wyrazu: " + wyraz.Length.ToString() + "\n" + rezultat);[/code]
sergito
Dodano
12.12.2007 00:57:55
Ok udalo mi sie zrobic aby program pokazywal liczbe liter kazdego jednego wyrazu skladajacego sie od 1 do 15 liter z tym ze nie dziala tak jak powinno bo nie wiem jak zrobic aby sumowalo takie same litery i podawalo ile ich jest i na jakiej pozycji one sa. A to link do nowej wersji programiku: http://www.sendspace.com/file/a27fvg Jesli ktos ma jakies pomysly prosze o kontakt! PS: Dla jasnosci program ma byc napisany w Visual Basic (jak ktos ma Microsoft Visual Studio 2005, albo darmowy Visual Basic 2005 Express Edition)
mjacek84
Dodano
29.11.2007 05:41:34
mjacek84
Dodano:
29.11.2007 04:14:47
Komentarzy:
2
Strona 1 / 1