Ładny brzuch
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
unsigned __int64 liczba;
cin>>liczba;
cout<<liczba;
int tab[100];
int numer;
numer=0;
int rob;
do
{
if(liczba/10)
{
rob=liczba%10;
tab[numer]=rob;
numer++;
liczba=liczba/10;
}
}while(liczba/10);
cout<<"\n\nnumer: "<<numer+1<<endl;;
cout<<"\n\n Wypisuje jakie sa w tablicy"<<endl;
for(int i=numer;i>=0;i--)
{
cout<<tab[i]<<" ";
}
system("PAUSE");
return 0;
}
ja mu wpisuje 1234
a on mi 27 2 3 4
co jest zle ?
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
unsigned __int64 liczba;
cin>>liczba;
cout<<liczba;
int tab[100];
int numer;
numer=0;
int rob;
do
{
{
rob=liczba%10;
tab[numer]=rob;
numer++;
liczba=liczba/10;
}
}while(liczba);
cout<<"\n\nnumer: "<<numer<<endl;;
cout<<"\n\n Wypisuje jakie sa w tablicy"<<endl;
for(int i=numer-1;i>=0;i--)
{
cout<<tab[i]<<" ";
}
return 0;
}
i teraz powinno pj:)
w warunku while'a byo co takiego liczba/10-m no i ptla za wczenie koczya dziaanie, i to co wychodzio na ekran zamiast 1 to prawdopodobbnie by jaki mie, ktry sobie by w tabeli;
a i jeszcze w ptli for inicjalizacja na i=liczba-1 ;)
zgredmin: uywaj taga .
oki bd:)
char* SepAdd(unsigned __int64 liczba) { char tab[100]; char wynik[100]; int numer; numer=0; int rob; do { rob=liczba%10; //sprintf(tab[numer],"%i",rob); tab[numer]=rob; numer++; liczba=liczba/10; }while(liczba); int nr=0; for(int i=numer-1;i>=0;i--) { wynik[nr]=tab[i]; nr++; //cout<<tab[i]; if(i%3==0) //cout<<" "; { wynik[nr]=' '; nr++; } } return wynik; }
A teraz tak by mozna bylo tego uzywac w dowolnym programie, tak by ta liczba byla tekstem.
bo mi krzaczki wychodza, moze zrzutowac int`a na char`a hm...
musiaem sam poduma, no i dziaa :) ale moe kto ma jakie zastrzeenia co do kodu ?
//--------------------------------------------------------------------------- AnsiString SepAdd(unsigned __int64 liczba) { char tab[100]; AnsiString napis; int numer; numer=0; do { tab[numer]=liczba%10; numer++; liczba=liczba/10; } while(liczba); for(int i=numer-1;i>=0;i--) { napis+=IntToStr(tab[i]); if(i%3==0) { napis+=' '; } } return napis; } //---------------------------------------------------------------------------
Ja mam... odszede od standardu... Zamiast AnsiString uyj string z stl, i nie uywaj IntToStr, ktry jest tylko w BCB :)
Ja mam... odszede od standardu... Zamiast AnsiString uyj string z stl, i nie uywaj IntToStr, ktry jest tylko w BCB :)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
ja mu wpisuje 1234
a on mi 27 2 3 4
co jest zle ?
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
unsigned __int64 liczba;
cin>>liczba;
cout<<liczba;
int tab[100];
int numer;
numer=0;
int rob;
do
{
{
rob=liczba%10;
tab[numer]=rob;
numer++;
liczba=liczba/10;
}
}while(liczba);
cout<<"\n\nnumer: "<<numer<<endl;;
cout<<"\n\n Wypisuje jakie sa w tablicy"<<endl;
for(int i=numer-1;i>=0;i--)
{
cout<<tab[i]<<" ";
}
return 0;
}
i teraz powinno pj:)
w warunku while'a byo co takiego liczba/10-m no i ptla za wczenie koczya dziaanie, i to co wychodzio na ekran zamiast 1 to prawdopodobbnie by jaki mie, ktry sobie by w tabeli;
a i jeszcze w ptli for inicjalizacja na i=liczba-1 ;)
zgredmin: uywaj taga .
oki bd:)
char* SepAdd(unsigned __int64 liczba) { char tab[100]; char wynik[100]; int numer; numer=0; int rob; do { rob=liczba%10; //sprintf(tab[numer],"%i",rob); tab[numer]=rob; numer++; liczba=liczba/10; }while(liczba); int nr=0; for(int i=numer-1;i>=0;i--) { wynik[nr]=tab[i]; nr++; //cout<<tab[i]; if(i%3==0) //cout<<" "; { wynik[nr]=' '; nr++; } } return wynik; }
A teraz tak by mozna bylo tego uzywac w dowolnym programie, tak by ta liczba byla tekstem.
bo mi krzaczki wychodza, moze zrzutowac int`a na char`a hm...
musiaem sam poduma, no i dziaa :) ale moe kto ma jakie zastrzeenia co do kodu ?
//--------------------------------------------------------------------------- AnsiString SepAdd(unsigned __int64 liczba) { char tab[100]; AnsiString napis; int numer; numer=0; do { tab[numer]=liczba%10; numer++; liczba=liczba/10; } while(liczba); for(int i=numer-1;i>=0;i--) { napis+=IntToStr(tab[i]); if(i%3==0) { napis+=' '; } } return napis; } //---------------------------------------------------------------------------
Ja mam... odszede od standardu... Zamiast AnsiString uyj string z stl, i nie uywaj IntToStr, ktry jest tylko w BCB :)
Ja mam... odszede od standardu... Zamiast AnsiString uyj string z stl, i nie uywaj IntToStr, ktry jest tylko w BCB :)
