tablica
Ostatnio zmodyfikowano 2012-11-26 08:42
ciemajek Temat założony przez niniejszego użytkownika |
tablica » 2012-11-25 11:50:41 Witam wszystkich! Mam tablice int X[10^6] i tablice int Y też [10^6] oraz zwykłe int Z. Jak zrobić, żeby po wpisaniu w programie wartości każdej z tablic program sprawdzał, jeżeli pierwsza cyfra tablicy jest większa od pierwszej cyfry drugiej tablicy, druga cyfra pierwszej tablicy jest większa od drugiej cyfry drugiej tablicy itd. to zwiększa wartość int Z o 1, a jeżeli pierwsza cyfra pierwszej tablicy jest mniejsza od pierwszej cyfry drugiej tablicy itd. to Z pozostaje bez zmian. Chodzi mi o to, że program ma sprawdzić poszczególnie miejsca w dwóch tablicach i je porównać tak jak wyżej. Proszę o pomoc. |
|
wojownik266 |
» 2012-11-25 11:57:01 Do rozwiązania tego zadania znakomicie naddają się instrukcje warunkowe if else oraz operatory takie jak && ||. Powodzenia. |
|
ciemajek Temat założony przez niniejszego użytkownika |
» 2012-11-25 12:12:14 Dziękuję. A czy może ktoś przybliżyć jak to by około wyglądało? |
|
crash |
» 2012-11-25 13:35:40 Co to znaczy pierwsza cyfra: cyfra jedności czy cyfra mnożąca dziesięć do najwyższej potęgi w danej liczbie? W zależności od tego trzeba napisać algorytm wyciągający takową cyfrę. Jeśli masz na myśli cyfrę jedności, wykorzystaj dzielenie modulo przez dziesięć (% 10) - reszta z tego dzielenia to szukana cyfra. Jeśli chodzi o tę drugą cyfrę, to musisz tak długo dzielić daną liczbę przez 10, aż zostanie najwyższa cyfra; tutaj styka operator / oraz fakt, że dwie liczby są typu int (dzielenie całkowite bez reszty). Pozostaje tylko pętla for od zero do 10^6, instrukcja warunkowa i chyba po kłopocie ;> |
|
ciemajek Temat założony przez niniejszego użytkownika |
» 2012-11-25 13:43:26 Pierwsza cyfra czyli np. w tablicy X mamy zapisane: 632972419 to pierwsza cyfra to 6, druga to 3 itd. |
|
crash |
» 2012-11-25 14:09:57 Moje propozycje nadal aktualne :) Jeśli zamotasz się z dzieleniem, to możesz użyć konwersji na string albo na char*. Wtedy skonwertowana liczba jest w postaci tablicy i wystarczy porównać odpowiednie elementy, te o najwyższych indeksach. Mankament taki, że konwersja na string jest czasochłonna, lepsiejsza już na char*, ale nadal czasochłonna, tu chodzi o porównanie łącznie dwóch milionów elementów, już lepiej pierwsza metoda z dzieleniem (chyba). |
|
ciemajek Temat założony przez niniejszego użytkownika |
» 2012-11-25 20:31:12 Trochę dziwnie mi to pytać ale czy jest ktoś tak miły by podsunąć gotowca? |
|
Mrovqa |
» 2012-11-25 21:16:40 Coś ten temat dziwnie mi śmierdzi zadaniem Tort z aktualnie trwającego I etapu OIG. Jeżeli to prawda - łamiesz regulamin. |
|
« 1 » 2 |