ďťż

Ładny brzuch

Witam. Mam za zadanie napisać program, który pobiera z pliku liczbę do 20000 i szuka jej wielokrotności takiej, by cyfry tej wielokrotności były zerami lub jedynkami. Wielokrotności ma szukać do 100 cyfr(tzn. gdy wielokrotnośc ma 100 cyfr ma zaprzestać działanie i w pliku wyjściowym napisac brak) i najmniejszą zapisać do pliku. Napisałem już trochę lecz pewien warunek z przyczyn mi nie znanych nie działa.
Proszę o porady oraz sugestie dotyczące również całego programu. Jeśli ktoś ma pomysł jak to zrobić prościej to był bym bardzo wdzięczny.

#include <cstdlib> #include <iostream> #include <stdio.h> #include <fstream> #include <string> #include <sstream> using namespace std; int main() { int c; string d; int dl; int i=0; int tab[10]; int tab1[100]; int tab2[100]; int b=0; int k=2; int m=1; int n=0; int z=0; int mnoznik=2; int h=0; int f=0; int licznik=0; ifstream plik("liczba.txt"); while(!plik.eof()){ plik>>c; } plik.close(); cout<<c; cout<<endl; ostringstream ss; ss << c; string str = ss.str(); dl=str.length(); cout<<endl; cout<<endl; if(dl==1){ tab[0]=c; } if(dl==2){ tab[0]=c%10; tab[1]=(c-c%10)/10; } if(dl==3){ tab[0]=c%10; tab[1]=((c-c%10)/10)%10; tab[2]=(c-tab[0]-tab[1])/100; } if(dl==4){ tab[0]=c%10; tab[1]=((c-tab[0])/10)%10; tab[2]=((c-tab[0]-tab[1])/100)%10; tab[3]=(c-tab[2]-tab[0]-tab[1])/1000; } if(dl==5){ tab[0]=c%10; tab[1]=((c-tab[0])/10)%10; tab[2]=((c-tab[0]-tab[1])/100)%10; tab[3]=((c-tab[2]-tab[1]-tab[0])/1000)%10; tab[4]=(c-tab[0]-tab[3]-tab[2]-tab[1])/10000; } tab2[0]=0; //ta pętla do nie działa do{ for(h;h<dl;h++){ if((tab[h]*mnoznik+tab2[h])<10){ tab1[h]=tab[h]*mnoznik+tab2[h]; if(tab1[h]==0||tab1[h]==1){ licznik++;} } else{ tab1[h]=(tab[h]*mnoznik+tab2[h])%10; tab2[h+1]=((tab[h]*mnoznik+tab2[h])-((tab[h]*mnoznik+tab2[ h])%10))/10; if(tab1[h]==0||tab1[h]==1){ licznik++;} } } tab1[dl]=tab2[dl]; mnoznik++; } while(licznik==dl); cout<<licznik<<endl; for(int g=0;g<=dl;g++){ cout<<tab1[g]<<" "; } system("PAUSE"); return EXIT_SUCCESS; }

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •