Enuntul problemei:
Se citeste un numar strict mai mare decat 9 avand numar impar de cifre.
Sa se afiseze numarul obtinut prin eliminarea cifrei de mijloc a numarului initial.
Eroarea apare in linia 28 : x=pow(10,cnt);
unde cnt este 2 si x ar trebui sa fie 100, numai ca la o rulare a codului cu debugger-ul x=99.
Nu inteleg unde gresesc.
Astept sugestii.
Code: Select all
1 #include <iostream>
2 #include <math.h>
3 using namespace std;
4
5 int main()
6 {
7 int nr, rest, cnt=0, m, var1, var2, x, y, z, q;
8 label:
9 cout<<"\n Introduceti nr = ";
10 cin>>nr;
11 m=nr;
12 if(nr>9)
13 {
14 while(nr!=0)
15 {
16 rest=nr%10;
17 cnt++;
18 nr=nr/10;
19 }
20 }
21 else
22 goto label;
23 if(cnt%2!=0)
24 {
25 cnt=cnt/2;
26 z=pow(10,(cnt+1));
27 var1=m/z;
28 x=pow(10,cnt);
29 var2=m%x;
30 y=var1*x+var2;
31 cout<<"\n "<<y<<endl;
32 }
33 if(cnt%2==0)
34 cout<<"\n Numarul cifrelor este par "<<endl;
35 return 0;
36 }