• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pętle C++ tabliczka mnożenia i zliczanie maksymalnej cyfry

Aruba Cloud - Virtual Private Server VPS
0 głosów
3,834 wizyt
pytanie zadane 4 stycznia 2018 w C i C++ przez TenNowy Nowicjusz (210 p.)
Witam mam problem z dwoma zadaniami z C++. Dopiero zaczynam ogarniać programowanie a mam zadane dwa zadania z którymi nie mogę sobie poradzić.

1.wyświetli na ekranie tabliczkę mnożenia wymiaru n x n, n<15. Zadbaj o nagłówki(w pętli for)

2.dla dodatniej liczby całkowitej n, podanej przez użytkownika, obliczy ile razy w jej zapisie wystąpiła jej maksymalna cyfra. Przykładowo dla liczby 318338 funkcja powinna zwrócić wartość 2(w pętli while)

Nie proszę o gotowe rozwiązania lecz o naprowadzenie mnie jak to zrobić. Z góry dziękuję.

4 odpowiedzi

+1 głos
odpowiedź 4 stycznia 2018 przez Mirosław Zelent Nałogowiec (34,780 p.)
1. Będzie pętla w pętli - polecam obejrzeć / przeczytać cokolwiek tłumaczącego dobrze pętlę for.

2. Różnie można do tego podejść - można na przykład przekonwertować liczbę int na łańcuch string (napis), ustalić która cyfra jest największa (sprawdzając czy jest wystąpienie '9', potem '8' i tak do skutku), a na koniec pętlą while zliczyć ilość wystąpień "największego" znaku
+1 głos
odpowiedź 4 stycznia 2018 przez TenGumis Gaduła (3,440 p.)

1.

-wypisanie tabelki w 2 wymiarach sugeruje że będze trzeba użyć zagnieżdzonych forów. Powinno to wyglądać mniej więcej tak:

for(int i=1;i<=n;i++)
{
    for(int j=1;j<=n;j++)
    {
        cout <<" "<<liczba<<" ";
    }
    cout <<"\n";
}

To spowoduje wypisanie n liniii po n liczb. To co należy wstawić w miejsce liczby jest dość oczywiste patrząc na to jak działa tabliczka mnożenia. Jest to iloczyn numeru kolumny i numeru wiersza czyli i*j.

 

2. Po 1 musisz jakoś przedstawić jako liczbę jako ciąg znaków. Następnie musisz pętlą znaleźć cyfrę o największej wartości(jednocześnie będzie to najpóźniejszy znak w alfabecie więc możemy pracować na char'ach). Następnie musimy jeszcze raz za pomocą pętli przeiterować się po ciągu i znaleźć w ilu miejscach występuje liczba(znak) znaleziony w pierwszym kroku.

+1 głos
odpowiedź 4 stycznia 2018 przez niezalogowany
1. Dwie zagnieżdżone pętle z warunkami  i < n, j < n. Zależy też jak chcesz zrobić czy mnożenie liczb od 0 - 14 czy 1 -15 dla n = 15. Wtedy i,j zamiast wartości startowej 0 powinno mieć 1, a warunki powinny być takie: i<=n, j<=n. Jedna z pętli ma wypisywać wiersze, a druga ich zawartość. Dla każdej komórki wykonanej tablicy wynik otrzymasz przez proste mnożenie i * j. Gdy to zrobisz możesz zastanowić się nad użyciem funkcji std::setw, aby wyrównać komórki tablicy.

2. Za pomocą pętli while, modulo i dzielenia przez 10 możesz otrzymywać kolejne cyfry i wyliczyć największą. W tej samej pętli możesz też liczyć wystąpienia. Jednak jeżeli znajdziesz większą wystąpienia należy zerować (jedynkować :D).
0 głosów
odpowiedź 4 stycznia 2018 przez TenNowy Nowicjusz (210 p.)

Bardzo wam wszystkim dziękuję.heart

Podobne pytania

0 głosów
2 odpowiedzi 1,254 wizyt
0 głosów
2 odpowiedzi 688 wizyt
0 głosów
1 odpowiedź 316 wizyt
pytanie zadane 16 grudnia 2015 w C i C++ przez dzidziamocarz Początkujący (370 p.)

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,653 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...