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

Zadanie "Lustro" na main'ie

Object Storage Arubacloud
0 głosów
1,936 wizyt
pytanie zadane 7 października 2016 w C i C++ przez niezalogowany
edycja 7 października 2016

Zadanie: http://main2.edu.pl/c/konkurs-wstepu-do-programowania/p/lus/

Kod:

#include <iostream>

using namespace std;

int a, k;

int main()
{
	cin >> a;

	while (a > 0)
	{
		k = a % 10;
		while (k == 0) //pozbywa sie zer z odwroconej liczby
		{
			a = a / 10;
			k = a % 10;
		}	
		a = a / 10;
		cout << k;
	}

	return 0;
}

W jaki sposób zmienić mój kod, aby nie pozbywał się całkowicie zer? Tylko tych z końca liczby.

2 odpowiedzi

0 głosów
odpowiedź 7 października 2016 przez manjaro Nałogowiec (37,390 p.)
wybrane 7 października 2016
 
Najlepsza

Na przykład tak można lekko przerobić wprowadzając zmienna, która sprawdza czy zera są na końcu

#include <iostream>

using namespace std;

int main() {

    int a, k;
    bool zeroWiodace = true;
    
    cin >> a;

    while (a > 0) {
       k = a % 10;
       
       if (k == 0 && zeroWiodace == true) {
           a = a / 10;
       }
       
       else {
           zeroWiodace = false;
           cout << k;
           a = a / 10;
       }
    }

    return 0;
}

 

0 głosów
odpowiedź 7 października 2016 przez Patrycjerz Mędrzec (192,320 p.)
Najprawdopodobniej jest to błąd samego zadania. Osobiście nie znajduję innego wytłumaczenia.
komentarz 7 października 2016 przez niezalogowany
Już wiem na czym polega problem. Rzeczywiście dla liczby "3003" mój program wyświetla liczbę "33", dlatego jest błąd. W jaki sposób mogę zmienić mój kod, żeby pozbywał się zer tylko z końca liczby?
komentarz 7 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
Jedyne co mi przychodzi do glowy, to tablica czar, w ktorej przechowujesz liczby i sprawdzasz, czy na koncu jest zero jezeli tak to je odrywasz i wyswietladz bez tego zera
komentarz 3 października 2017 przez Gorylatek Nowicjusz (100 p.)

Tutaj jest wersja poprawiona, gdzie tylko zera z początku się usuwają.

 

#include <iostream>

using namespace std;

int n, mirror;

int main()
{
    cin>>n;
    while(n%10==0)
    {
        n=n/10;
    }
    while(n>0)
    {
        mirror=n%10;
        n=n/10;
        cout<<mirror;
    }

    return 0;

}


 

Podobne pytania

0 głosów
1 odpowiedź 239 wizyt
pytanie zadane 7 stycznia 2023 w Algorytmy przez pasjonat_algorytmiki Pasjonat (19,540 p.)
0 głosów
1 odpowiedź 896 wizyt
pytanie zadane 23 września 2021 w C i C++ przez Joshe Początkujący (280 p.)
–3 głosów
1 odpowiedź 258 wizyt
pytanie zadane 19 sierpnia 2021 w C i C++ przez Joshe Początkujący (280 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...