Zapętlanie tworzenia zmiennych
Ostatnio zmodyfikowano 2011-02-03 16:05
neverneve Temat założony przez niniejszego użytkownika |
» 2011-02-03 15:56:43 Cóż, szkoda - mimo to wyjaśnię, co chcę zrobić, może jest jakiś inny sposób. Otóż napisałem program który z wczytanych liczb wypisuje [url=http://pl.wikipedia.org/wiki/Liczby_wzgl%C4%99dnie_pierwsze]pary liczb względnie pierwszych[/url]. Miał on błąd, otóż definiowałem w nim tablicę w trakcie trwania programu - DejaVu poradził mi użycie dynamicznego zarządzania pamięcią, ja to sobie przerobiłem i dodałem do programu, który ma teraz taką postać: #include <iostream> using namespace std;
int NWD( int a, int b ) { int c; while( b != 0 ) { c = a % b; a = b; b = c; } return a; }
int main() { int liczbaElementow; cout << "Ile wyrazow podasz?\n"; cin >> liczbaElementow; int * tab = new int[ liczbaElementow ]; for( int i = 1; i <= liczbaElementow; i++ ) { cout << "Podaj " << i << " liczbe: "; cin >> tab[ i - 1 ]; } endl( cout ); for( int i = 0; i < liczbaElementow - 1; i++ ) { for( int l = i + 1; l < liczbaElementow; l++ ) { if( NWD( tab[ i ], tab[ l ] ) == 1 ) cout << tab[ i ] << " i " << tab[ l ] << " sa parami wzglednie pierwszymi.\n"; } } delete[] tab; return 0; }
___ Teraz chciałbym zrobić tak, aby program wczytywał liczby podawane przez użytkownika, dopóki nie wpisze on liczby 0, przykład (to co pogrubione, to pochodzi od użytkownika programu): Podawaj liczby, jeśli chcesz skończyć napisz 0 i naciśnij ENTER. 2 3 4 0 //tutaj program brałby pod uwage liczby 2, 3 i 4 2 i 3 są parami względnie pierwszymi. 3 i 4 są parami względnie pierwszymi. ___ Chciałem to zrobić tak, że za każdym razem kiedy użytkownik poda liczbę naturalną dodatnią to program tworzy zmienną, i tak dopóki użytkownik nie poda 0 (w międzyczasie chodzi licznik, który po podaniu takiej liczby inkrementuje się (zwieksza o 1). Po podaniu 0 program tworzy dynamiczną tablicę o rozmiarze równym licznikowi i zapisuje wszystkie zmienne do dynamicznej tablicy. (Myślałem też nad tym aby te wszystkie zmienne zrobić też dynamicznymi i potem usunąc przy pomocy delete zmienna. Ogólnie chodzi mi tu o to by użytkownik nie musiał podawać na początku ile liczb poda (bo w trakcie ich podawania może się rozmyślić). Mam nadzieję że napisałem to zrozumiale. |
|
ison |
» 2011-02-03 16:05:28 możesz albo zadeklarować maksymalny rozmiar tablicy i potem zwyczajnie przypisywać wartości do kolejnych elementów aż użytkownik poda 0 albo użyć kontenera z STLa |
|
1 « 2 » |