Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Problema clasa a 9 a  (Citit de 4350 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
razvan.atd
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« : Decembrie 09, 2012, 20:05:58 »

Scrieti un program care citeste de la statatura n numere  naturale ( <32000) si afiseaza numarul format prin alipirea cifrelor numarului maxim cu cel minim ( in aceasta ordine )
  Exemplu : Pentru n=3 si numerele 63 , 153 , 62 se va afisa 15362

Cod:
#include <iostream.h>
#include <math.h>
int main()
{
int n,a,i,max,min,z,b,d,c;
cout<<"n=";
cin>>n;
i=1;
c=0;
        z=0;
max=-3200;
min=3100;
while(i<=n)
{
cout<<"a=";
cin>>a;
x=a;
if(a>max)
{
max=a;
}
if(a<min)
{
min=x;
}
i++;
}
while(min!=0)
{
b=min%10;
c=c*10+b;
min=min/10;
}
while(c!=0)
{
d=c%10;
z=10*max+d;
c=c/10;
}
cout<<"Numarul este "<<z;
}

Si totusi , programul imi afiseaza numarul maxim + o cifra lipita de el nu stiu de unde .

   
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #1 : Decembrie 09, 2012, 21:20:25 »

Greseala ta e in al doilea for, cel cu c != 0, tu in z bagi de fapt maximul la care ii adaugi ULTIMA CIFRA a minimului (deoarece prin z=10*max+d, z o sa iea pe rand valoarea max urmat de prima cifra a minimului (ultima a numarului c, care este oglindirea lui min), apoi max urmata de a doua cifra a minimului etc. Ca sa elimini eroarea, ori ii dau lui z valoarea max la inceput, si faci z=10*z+d, sau ti in max rezultatul si faci max=max*10+d, caz in care afisezi valoarea max.
Cod:
# include <iostream>
# include <cmath>
using namespace std;

int main()
{
int n,a,i,max,min,z,b,d,c;
cout<<"n=";
cin>>n;
i=1;
c=0;
        z=0;
max=-3200;
min=3100;
while(i<=n)
{
cout<<"a=";
cin>>a;
int x=a;
if(a>max)
{
max=a;
}
if(a<min)
{
min=x;
}
i++;
}
while(min!=0)
{
b=min%10;
c=c*10+b;
min=min/10;
}
while(c!=0)
{
d=c%10;
max=10*max+d; // ti rezultatul in max, modificandu-l la fiecare pas
c=c/10;
}
cout<<"Numarul este "<<max; // il afisezi
}
Memorat
razvan.atd
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #2 : Decembrie 09, 2012, 22:39:42 »

mersi  Very Happy
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines