Welcome, Guest. Please login or register.

Autor Subiect: Problema programare C++ cls.9  (Citit de 4385 ori)

0 Membri şi 1 Vizitator vizualizează acest subiect.

Sam

  • Vizitator
Problema programare C++ cls.9
« : Mai 15, 2011, 09:10:21 p.m. »
buna am si eu nevoie de rezolvarea de la exercitiul acesta:
"Sa se afle toate numerele autopomorfice mai mici sau egale cu n dat."
 eu am resuit sa scriu doar atata dar imi da eroare la citire///

#include<IOSTREAM.H>
#include<math.h>
void main()
{
   int n,s,d,i;
   cout<<"\n Dati n";
   cin>>n;
   i=1;
   do
   {
      s=0;
      d=1;
      do
      {
         s+=d%10;
         d/=10;
      }while(d);
      if(sqrt(s)==floor(sqrt(s))) cout<<"\n s="<<s<<"i=";
      i++;
   }while(i<=n);
}



Am lucrat in Boreland C++ 3.1

Sam

  • Vizitator
Răspuns: Problema programare C++ cls.9
« Răspuns #1 : Mai 15, 2011, 09:30:52 p.m. »
Zice-ti-mi ce am gresit si corectati-mi algoritmul va rog :)!!!!!!

Offline Quantum

  • Junior
  • **
  • Mesaje postate: 164
  • Popularitate: +6/-3
Răspuns: Problema programare C++ cls.9
« Răspuns #2 : Mai 15, 2011, 10:22:29 p.m. »
Pentru eroarea la citire incearca sa folosesti:

# include <iostream>
using namespace std;

Din pacate nu stiu ce inseamna numere autopomorfice.

Offline Electron

  • Veteran
  • *****
  • Mesaje postate: 8404
  • Popularitate: +245/-217
Răspuns: Problema programare C++ cls.9
« Răspuns #3 : Mai 15, 2011, 10:36:54 p.m. »
Zice-ti-mi ce am gresit [...]
In mod ironic, ai gresit chiar si in aceasta cerere ...

e-
Don't believe everything you think.

Offline Adi

  • Global Moderator
  • *****
  • Mesaje postate: 11298
  • Popularitate: +15/-7
    • Site personal Adrian Buzatu
Răspuns: Problema programare C++ cls.9
« Răspuns #4 : Mai 15, 2011, 10:46:32 p.m. »
Nici eu nu stiu ce inseamna numere autopomorfice. Ca sa te ajutam, trebuie intai sa ni le definesti, apoi sa explici algoritmul tau in cuvinte si abia apoi sa ne arati implementarea codului. Caci poate nu stii definitia corect, sau poate o stii dar ai implementat algoritmul gresit, sau poate ai implementat corect algoritmului dar ai gresit la programare.
Pagina personala: http://adrianbuzatu.ro

Offline AlexandruLazar

  • Senior
  • ****
  • Mesaje postate: 1752
  • Popularitate: +95/-17
Răspuns: Problema programare C++ cls.9
« Răspuns #5 : Mai 15, 2011, 11:02:02 p.m. »
Wikipedia zice așa:

Citat
In mathematics an automorphic number (sometimes referred to as a circular number) is a number whose square "ends" in the same digits as number itself. For example, 52 = 25, 762 = 5776, and 8906252 = 793212890625, so 5, 76 and 890625 are all automorphic numbers.

Mai departe de aici mi-e cam greu să spun care e problema fără a ști care e acea eroare pe care o dă la citire, și ce înseamnă că "dă eroare la citire" -- apare vreo eroare când citești numărul în consolă? Sau la compilare? Sau unde?

Edit: totuși prima mea intuiție e că probabil #include<IOSTREAM.H> trebuia să fie #include <iostream.h> . Algoritmul e la nivel de clasa a noua.
« Ultima Modificare: Mai 15, 2011, 11:04:35 p.m. de AlexandruLazar »

Offline tavy

  • Experimentat
  • ***
  • Mesaje postate: 544
  • Popularitate: +26/-26
Răspuns: Problema programare C++ cls.9
« Răspuns #6 : Mai 16, 2011, 12:18:56 a.m. »
Dacă am înțeles bine definiția dată de Alexandru, pe un compilator din secolul nostru programul ar putea arăta așa:
#include <iostream>
using namespace std;
int main(){
  unsigned i,j,k,n;
  cout<<"? n=";
  cin>>n;
  for(i=1;i<=n;i++){
    for(k=(j=i)*i;j>0;k/=10,j/=10)if(k%10-j%10)break;
    if(!j)cout<<i<<'*'<<i<<'='<<i*i<<endl;
  }
  return 0;
}
Pe Borland C++ 3.1 ar arăta așa:
#include <iostream.h>
#include <math.h>
int main(){
  unsigned i,j,k,n;
  cout<<"? n=";
  cin>>n;
  for(i=1;i<=n;i++){
    for(k=(j=i)*i;j>0;k/=10,j/=10)if(k%10-j%10)break;
    if(!j)cout<<i<<'*'<<i<<'='<<i*i<<endl;
  }
  return 0;
}
Nu am posibilitatea să verific pe Borland.