MitS Napisano Listopad 3, 2005 Zgłoszenie Share Napisano Listopad 3, 2005 Witam! W moim ostatnim poście sorror mi pomógł i chciałem podziękować, lecz zrodził się następny problem Mam oto taki kod: #include <iostream> #include <cstdlib> using namespace std; int main(int argc, char *argv[]) { ios_base::sync_with_stdio(0); char z; int a, b, i, j, *zi, *zj; int wynik; start: cout << "Wpisz dane wejściowe 'a' i 'b': "; cin >> a >> b; zi = new int [a]; zj = new int [b]; cout << "Wpisz liczby dla a: "; for(i = 0; i < a; i++) { cin >> zi[i]; } cout << "Wpisz liczby dla b: "; for(i = 0; i < b; i++) { cin >> zj[i]; } for(i=0; i<a; i++) zi[i]; for(i=0; i<b; i++) zj[i]; if ((zi[i] != a) || (zj[i] != b)) { cout << "Błędna ilość cyfr !!! " << endl; goto start; } else { goto next; } next: cout << "Coś tu będzie ..." << endl; cout << "Naciśnij klawisz ..."; return 0; } i mam wynik taki: Wpisz dane wejściowe 'a' i 'b': 5 3 Wpisz liczby dla n: 3 4 4 6 4 Wpisz liczby dla m: 5 6 7 Błędna ilość cyfr !!! Wpisz dane wejściowe 'a' i 'b': Dlaczego nie chce mi przejść dalej ?? Pewnie to jakiś banalny błąd, ale po prostu (_niewiem_ → nie wiem) ORT gdzie jest błąd Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
KozaK Napisano Listopad 3, 2005 Zgłoszenie Share Napisano Listopad 3, 2005 Witam. Blad jest w linijce: if ((zi[i] != a) || (zj[i] != b)) ... W ten sposob przyrownujesz liczby cyfr "a" i "b" z ostatnimi elementami tablic "zi" i "zj", a powinienes przyrownywac do wielkosci tych tablic. Poprobuj z funkcja "sizeof(nazwa_tablicy)". Powinna dac wielkosc tablicy w bajtach, czyli liczbowa ilosc elementow powinienes otrzymac piszac: sizeof(zi) / sizeof(int) Niestety u mnie cos nie chce to dzialac, a nie mam juz dzisiaj wiecej czasu. Powodzenia Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@Sorror Napisano Listopad 3, 2005 Zgłoszenie Share Napisano Listopad 3, 2005 Czytam kod, trafiam na 'goto' -> przestaję czytać. Zawsze z chęcią pomogę, o ile kod nie jest pisany cyrylicą... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
MitS Napisano Listopad 3, 2005 Autor Zgłoszenie Share Napisano Listopad 3, 2005 Czytam kod, trafiam na 'goto' -> przestaję czytać. Zawsze z chęcią pomogę, o ile kod nie jest pisany cyrylicą... Dlaczego gdy przeczytałeś goto to przestałeś czytać ??? Ja narazie sie próbuje uczyć jeszcze więc pytam się a jeśli chodzi o sizeof(zi) / sizeof(int) to też coś nie działa :/ Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@Sorror Napisano Listopad 3, 2005 Zgłoszenie Share Napisano Listopad 3, 2005 Czytam kod, trafiam na 'goto' -> przestaję czytać. Zawsze z chęcią pomogę, o ile kod nie jest pisany cyrylicą... Dlaczego gdy przeczytałeś goto to przestałeś czytać ??? Ja narazie sie próbuje uczyć jeszcze więc pytam się Więc ucz się bez błędów. Pytanie: z czego się uczysz? goto jest archaizmem, używanie go w kodach C++ jest zaprzeczeniem całej wspaniałej idei obiektowości tego języka. Tu masz poprawny kod, ale użyj pętli zamiast goto. #include <iostream> #include <cstdlib> using namespace std; int main(int argc, char *argv[]) { ios_base::sync_with_stdio(0); char z; int a, b, i, j, *zi, *zj; int wynik; start: cout << "Wpisz dane wejściowe 'a' i 'b': "; cin >> a >> b; zi = new int [a]; zj = new int [b]; cout << "Wpisz liczby dla a: "; for(i = 0; i < a; i++) { cin >> zi[i]; } cout << "Wpisz liczby dla b: "; for(i = 0; i < b; i++) { cin >> zj[i]; } int num, num1; num=((sizeof(zi)/sizeof(int))*a); num1=((sizeof(zj)/sizeof(int))*b); if (a != num || b != num1) { cout << "Błędna ilość cyfr !!! " << endl; goto start; } else { } cout << "Coś tu będzie ..." << endl; cout << "Naciśnij klawisz ..."; return 0; } Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
MitS Napisano Listopad 3, 2005 Autor Zgłoszenie Share Napisano Listopad 3, 2005 Ok ... dziękówa Ucze sie z książki: Kompedium programisty C++ Builder <- choć nie używam buildera A co mi polecasz jaką książke i jaką strone ??? Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@Sorror Napisano Listopad 3, 2005 Zgłoszenie Share Napisano Listopad 3, 2005 J.Grębosz "Symfonia C++". Jedyna dobra książka do nauki w dobrym stylu. Właśnie wyszła nowa edycja, więc niektóre zdeaktualizowane informacje zostały zupdate'owane. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
mavik Napisano Listopad 24, 2005 Zgłoszenie Share Napisano Listopad 24, 2005 Apropos "Symfonii C++" to mogę sie podzielic.Mam pozycję w pdf. Ewentualnie dam namiar skad zassać Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
!Ci Napisano Listopad 24, 2005 Zgłoszenie Share Napisano Listopad 24, 2005 Nio symfonia to chyba najlepsza pozycja zeby zaczac zabawe z c++. Jesli mysli sie juz o czyms bardziej zaawansowanym to trzeba szukac gdzie indziej. Tu wszystko zalezy od stopnia zaawansowania. Kontynuacja symfonii to pasja mozna tez nad tym posiedziec... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@Sorror Napisano Listopad 25, 2005 Zgłoszenie Share Napisano Listopad 25, 2005 Mówiąc o lekturze Symfonii zawsze mam na myśli również Pasję, te 5 tomów łącznie stanowi dobry materiał do nauki podstaw Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się