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

Czemu na wyjściu znajdują się takie liczby?

Object Storage Arubacloud
0 głosów
167 wizyt
pytanie zadane 29 maja 2017 w C i C++ przez ChiriChiri Obywatel (1,260 p.)

Nie rozumiem czemu na wyjściu w stosie pojawia się liczba której nawet się na ten stos nie dopisywało, jak to wytłumaczyć?

#include <iostream>
#include <stack>
using namespace std;

int main() {
	
	stack <int> stos;
	char x;
	while(cin>>x)
	{
		if(x=='+') 
		  {
		  	if(stos.size()>=10) cout<<":("<<endl;
		  	else if(stos.size()<10) 
		  	  {
               cin>>x;
               stos.push(x); 
		       cout<<":)"<<endl;
		  	  }
		  }
		  
		else if (x=='-') 
		{
			if(stos.size()<=0) cout<<":("<<endl;
			else if(stos.size()>=0)
			{cout<<stos.top()<<endl;
			stos.pop();
			}
		}
		
	}
	return 0;
}

 

komentarz 29 maja 2017 przez niezalogowany
Może jakiś przykład?
komentarz 29 maja 2017 przez niezalogowany
Tak, jakby chwilami rzutowanie szwankowało. Raz zwraca :) lub :(, a innym razem 45 lub 43, czyli kod ASCII dla znaków plus oraz minus.
komentarz 29 maja 2017 przez niezalogowany
Patrz co napisał Patrycjerz

2 odpowiedzi

+2 głosów
odpowiedź 29 maja 2017 przez Patrycjerz Mędrzec (192,320 p.)
wybrane 29 maja 2017 przez ChiriChiri
 
Najlepsza
Stos jest typu int, zaś na jego wierzch podajesz znak. Wpisując np. cyfrę tak na prawdę wprowadzasz znak o kodzie ASCII, który po zrzutowaniu na typ całkowity jest wyświetlany jako liczba.
komentarz 29 maja 2017 przez ChiriChiri Obywatel (1,260 p.)

Dziękuję blush

+1 głos
odpowiedź 29 maja 2017 przez k222 Nałogowiec (30,150 p.)
Nie jestem pewien bo nie mam gdzie odpalić ale widzę tam mały problem ze zmienną x, bodajże jest ona typu char a w stosie chcesz mieć int więc najprawdopodobniej x jest zapisywany jako kod ASCII wpisanego znaku (kod ASCII jest int'em)

Podobne pytania

0 głosów
1 odpowiedź 270 wizyt
+3 głosów
4 odpowiedzi 1,259 wizyt
pytanie zadane 14 kwietnia 2015 w C i C++ przez timati Bywalec (2,060 p.)
0 głosów
1 odpowiedź 271 wizyt
pytanie zadane 11 listopada 2021 w C i C++ przez letmestay Użytkownik (520 p.)

92,556 zapytań

141,404 odpowiedzi

319,561 komentarzy

61,942 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!

...