C++ Wykrywanie i sprawdzanie podanych liczb

0

Witam!
Użytkownik np. podaje:
abcd
i ja chcę to teraz porównać pod "if", ale nie całe na raz tylko ab i cd oddzielnie. Np.
1234
i sprawdza czy 12>5
i sprawdza czy 34>6

Końcówkę potrafię tylko nie wiem jak "wyciąć" wybrane liczby. Z góry dziękuję za pomoc.

1
#include <iostream>
using namespace std;

int main()
  {
   int a,b;
   cin>>a;
   b=a%100;
   a/=100;
   cout<<"Podano: "<<a<<" "<<b<<endl;
   return 0;
  }
0

Dzięki. Kod działa, ale niestety tylko na 4 liczbach. A co jeśli mam do dyspozycji 11 liczb? Kilka chce podzielić dwójkami a jedną pojedyńczo.

0

to napisz funkcje

int extractNumber(int what, int where, int howMany);

powyżej masz przykład jak zrobić dla czterech liczb. Teraz sam napisz uniwersalną funkcję.

0

Prosze bardzo działa dla 11 liczb

#include <iostream>
using namespace std;
 
int main()
  {
   int tab[6];
   long long int a;
   cin>>a;
   for(int i = 0; i < 5; i++,a /= 100) {
	   std::cout << a%100 << "\n";
	   if(i == 4) {
			a /= 100;
			break;
	   }

   }
	std::cout << a;
   
   return 0;
  }

//edit

0

Niestety sposób robcia nie działa. Dubluje 2 cyfrę :( No ale dzięki pokombinuję jeszcze sam

1
int a;
while(1==scanf("%2d", &a)) {
    if (a>5)
        printf("%d\n", a);
}

http://ideone.com/Z9WVi2

0

Ten łazi unikalnie ^^^ tylko muszę jeszcze dojść jak pod każdego kolejnego podstawić literę, aby później na trybie warunkowym chodziło. Dzięki Marek
Tylko właśnie chyba nie da się wysłać tych liczb do tablicy. Ale pewny nie jestem.
Przydałoby się np. gdy mamy 12345678901 to:
tab[0]=12
tab[1]=34
tab[2]=56
tab[3]=78
tab[4]=9
tab[5]=0
tab[6]=1
Da radę tak czy trzeba na dwie rozpisać??

0
for(int i=0;i<4;++i) scanf("%2d",tab+i);
for(int i=4;i<7;++i) scanf("%1d",tab+i);

Może powiedz co próbujesz zrobić bo wg mnie to jest próba wyważania otwartych drzwi.

0

Wczytywanie info o PESELU. Tzn data urodzenia płeć i inne info. Czasami potrzeba dwóch, a czasami jednej cyfry

Teraz od nowa sam napisałem:

#include <stdio.h>

 
int main() 
{
	int a;
	int tab[4];
	for(a=0; a<=6; ++a) 
	{
		scanf("%2d",tab[a]); // połączone 2 cyfry z przedziału 0-6.
	}
	for(a=10; a<11; ++a) 
	{
		scanf("%d",tab[a]); // 1 cyfra 10-ta.
	}
	
	
	printf("%d\n", tab[a]); //wyświetlanie elementów tabeli.
	
	return 0;
}
 

Program odpala ale po wpisaniu dowolnej liczby, nie ważne jak długiej bądź krótkiej wyskakuje komunikat "program przestał działać". Może to wina Dev'a?
Tabelka musi starczyć, bo z pierwszego przedziału wyłapuje 6 liczb, ale po dwie więc 3+1 pojedyncza dziesiąta. Czyli 4

1 użytkowników online, w tym zalogowanych: 0, gości: 1