Pocet znaku – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pocet znaku – C / C++ – Fórum – Programujte.comPocet znaku – C / C++ – Fórum – Programujte.com

 

jeckop
~ Anonymní uživatel
4 příspěvky
30. 11. 2010   #1
-
0
-

Zdravim, studuji drivejsi vlakna, zatim jsem vsak nenasel presnou odpoved. Muzete mi poradit?

Kdyz
{
cout << "Zadej prvni cislo : ";
cin >> a ;
cout << "Zadej druhe cislo : ";
cin >> b;
c = a * b;
}
Jak mam nastavit pocitani cifer ve vysledku? potrebuji jej ulozit jako hodnotu treba "n" a s tou dale pracovat, respektive upravovat dalsi casti programu. {pr.: 12*12=144 n=3}

Nahlásit jako SPAM
IP: 217.66.169.–
m->29+6
Super člen
1. 12. 2010   #2
-
0
-

Budeš to deliť desiatimi dokedy ti neostane vo výsledku 0 a postupne si inkrementovať to n. Alebo to prevedieš na reťazec a potom pomocou strlen() zistíš dĺžku.

Nahlásit jako SPAM
IP: 83.208.112.–
jeckop
~ Anonymní uživatel
4 příspěvky
1. 12. 2010   #3
-
0
-

A kdyz se zeptam konretne kodem? obecne me strlen() tez napadnul akorat nevim jak to spravne a jednoduse napsat.

Nahlásit jako SPAM
IP: 217.66.169.–
m->29+6
Super člen
1. 12. 2010   #4
-
0
-

Kokrétne kódem to bude takto:

int main() {

cout << "Zadej prvni cislo : ";
cin >> a ;
cout << "Zadej druhe cislo : ";
cin >> b;
c = a * b;
sprintf(bufferForStringNumber, "%d", c);
digitCount = strlen(bufferForStringNumber);
}

Nahlásit jako SPAM
IP: 83.208.112.–
jeckop
~ Anonymní uživatel
4 příspěvky
1. 12. 2010   #5
-
0
-

at zkousim jak zkousim, VS2010 mi to nechce vzit, ja to mel trochu podobne ale marna snaha. ten bufferForStringNumber v zavorce pred sprintf mi stale vyvolava chybu.

#include <iostream>
#include <string>
using namespace std;

int main()
{
int a;
int b;
int c;


cout << "Zadej prvni cislo : ";
cin >> a ;
cout << "Zadej druhe cislo : ";
cin >> b;
c = a * b;
sprintf(bufferForStringNumber, "%d", c);
int digitCount = strlen(bufferForStringNumber);
}

Nahlásit jako SPAM
IP: 217.66.169.–
m->29+6
Super člen
1. 12. 2010   #6
-
0
-

Ten bufferForStringNumber musíš najskôr deklarovať, to bude asi tým. Určite ti to píše aj tvoje VS2010. Stačí len prečítať, čo ti píše ;-)

Nahlásit jako SPAM
IP: 83.208.112.–
jeckop
~ Anonymní uživatel
4 příspěvky
1. 12. 2010   #7
-
0
-

promin, mi to stale nejak nejde, a obecne mi to tez nepomaha... programuji velice kratce a nedari se. opravdu bych uvital presnou pomoc, tak zde delam neco z knizek, clanku a nic neni co bych potreboval. muzes mi prosim primo opravit ten kod, tak at to VS2010 dokaze sestavit?


#include <iostream>
#include <string>
using namespace std;

int main()
{
int a;
int b;
int c;
int i;
char * bufferForStringNumber;

cout << "Zadej prvni cislo : ";
cin >> a ;
cout << "Zadej druhe cislo : ";
cin >> b;
c = a * b;

for(i=0, i<c, i++); // zde mi ta zavorka porad hazi chybu
{
bufferForStringNumber[i];
}
sprintf(bufferForStringNumber, "%d", c);
int digitCount = strlen(bufferForStringNumber);
}

Nahlásit jako SPAM
IP: 217.66.169.–
Al0
Věrný člen
1. 12. 2010   #8
-
0
-

Nechapu proc to prevadite na retezec??

int pocet_cislic(int vysledek){

int pocet = 0;

if(vysledek >= 0){ //pokud je číslo kladné můžeme ihned zjišťovat výsledek
while(vysledek > 0){
vysledek /= 10; // neustále dělíme číslem 10, dokud výsledek nepatří do intervalu (0;1)
pocet++; //při každím dělení navýšíme počet číslic o 1
}
}
else{
vysledek *= -1; //pokud je číslo záporné, vynásobíme jej -1
while(vysledek > 0){
vysledek /= 10;
pocet++;
}
pocet++; //přičteme výsledné hodnotě 1, jelikož jsme odstranili mínus, které musíme počítat za znak
}

return pocet;
}


je to z meho školního projektu, kde sem musel brát v potaz i mínus, to už si snad upravíš dle svých potřeb..

Nahlásit jako SPAM
IP: 158.196.40.–
PSP user|Web developer|C4D user||Maya Lamer|Photoshop User|Guitar player
m->29+6
Super člen
2. 12. 2010   #9
-
0
-

To Al : Pretože je evidentné, že by ten program na počet číslic nenapísal a ja som mu nechcel napísať celý kód len tak. Aby si niečo aj odniesol, keď už je to také primitívne zadanie. S prevedením na reťazec a spočítaním znakov je to na 2 riadky a bez nervov ;-)

Nahlásit jako SPAM
IP: 83.208.112.–
Al0
Věrný člen
2. 12. 2010   #10
-
0
-

To m->29 : Ok, sorry, nepochopil jsem..

Nahlásit jako SPAM
IP: 158.196.40.–
PSP user|Web developer|C4D user||Maya Lamer|Photoshop User|Guitar player
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 66 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý