12. april 2003 - 13:59
Der er
12 kommentarer og 1 løsning
finde tegn i variabel
jeg vil gerne vide hvilke filer jeg skal include og hvilken funktion jeg skal bruge for finde ud af hvad feks. det 3 tal i en int variabel er så hvis int a = 1653134; og jeg skal finde ud af hvad det 3 tegn er så får jeg returneret 5
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
12. april 2003 - 14:05
#1
int scale[] = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000 }; int v = 1653134; int digit3 = (v / scale[(int)log10(v) - 2]) % 10; burde gøre det !
12. april 2003 - 14:06
#2
Der skal inkluderes math.h for at have log10.
12. april 2003 - 14:08
#3
Og hvis compilerne brokker sig over log10, så brug: int digit3 = (v / scale[(int)log10((double)v) - 2]) % 10;
12. april 2003 - 14:11
#4
jeg får bare E2109 not allowed
12. april 2003 - 14:14
#5
På hvad ?
12. april 2003 - 14:14
#6
Altså hvilken linie ? Og hvilken compiler bruger du ?
12. april 2003 - 14:15
#7
#include <iostream> #include <math.h> using namespace std; int main() { int scale[] = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000 }; int v = 1653134; int digit3 = (v / scale[(int)log10((double)v) - 2]) % 10; cout << digit3 << endl; } compiler og kører som forventet hos mig.
12. april 2003 - 14:16
#8
borland c++ builder og den her linie fejler ShowMessage((123 / scale[(int)log10((double)123) - 2]) % 10);
12. april 2003 - 14:18
#9
hey nu virker den sorry
12. april 2003 - 14:20
#10
men kunne du ikke være flink og lige forklare den linie lidt nærmere det er nu sjovere når man forstår det ellers lærer man det squ aldrig (v / scale[(int)log10((double)v) - 2]) % 10 bare det der
12. april 2003 - 14:24
#11
log10(v) returnerer 10 tals logaritmen af v - log10(1653134) er 6.et-eller-andet (int) trunkerer til integer - (int)6.et-eller-andet er 6 scale[6-2] = scale[4] = 10000 1653134/10000 = 165 165%10 = 5
12. april 2003 - 14:25
#12
pointen er at der er en sammenhæng mellem log10(v) og antal cifre i v.
12. april 2003 - 14:27
#13
ok takker
Kurser inden for grundlæggende programmering