Avatar billede johndenver Nybegynder
14. maj 2002 - 10:41 Der er 14 kommentarer og
1 løsning

tal udregning f.eks

ehm jeg skal bruge en command i c++
som man kan tage nogen tal fra et større tal
og gange dem ud så de bliver til flere tal

f.eks
11045 så skal jeg gange 1 med 4 og 5 med 9
som f.eks
left(11045,2)
så tager den 1 tal nummer 2
og left(11045,5) så tager den 5 tallet

er der en command i c++ man kan det med?

på forhånd tak!
Avatar billede laffe Nybegynder
14. maj 2002 - 10:43 #1
>JohnDenver !!???. Jeg troede du var død.
Avatar billede laffe Nybegynder
14. maj 2002 - 10:44 #2
11045 så skal jeg gange 1 med 4 og 5 med 9

Prøv at forklare lidt nærmere.
Avatar billede johndenver Nybegynder
14. maj 2002 - 10:47 #3
jeg er død ':)
hvis jeg ik får lavet det her
lol

ej

det jeg mener er
at jeg har et tal
det er 11045
ud fra det tal
skal jeg tage 1 tal nummer 2
og gange det med et andet tal
ikke et tal fra tallet  (lol)
og der efter skal jeg så også tage tal 5
og gange det med et andet tal, igen ikke et tal fra tallet!

forstår du?
Avatar billede laffe Nybegynder
14. maj 2002 - 10:52 #4
Skrevet i CBuilder. Jeg kan også lave en C version.

int MyLeft(int Number, int DigitNo)
{
  AnsiString S = IntToStr(Number);
  AnsiString Digit;
  if (DigitNo>0 && DigitNo < S.Length())
    Digit = S[DigitNo];
  else
    return 0; // Fejl

  return StrToInt(Digit);
}
Avatar billede jpk Nybegynder
14. maj 2002 - 10:53 #5
int left(int nInput, int nNumber)
{
  char buffer[100];
  sprintf(buffer, "%d", nInput);
  return atoi(buffer[nNumber-1]);
}
Avatar billede johndenver Nybegynder
14. maj 2002 - 10:55 #6
hmmm er en smule nybegynder til det her :)

jeg sidder og skriver i turbo c++
men vil det virke sammen?
Avatar billede laffe Nybegynder
14. maj 2002 - 10:59 #7
Der er en lille fejl i jpk's version. Han glemte at terminere. :)

int left(int nInput, int nNumber)
{
  char buffer[100];
  sprintf(buffer, "%d", nInput);
  buffer[nNumber] = 0;    // Terminering
  return atoi(&buffer[nNumber-1]);
}
Avatar billede laffe Nybegynder
14. maj 2002 - 11:01 #8
>johndenver. int left(int nInput, int nNumber) kan du bruge i Turbo C++.

Husk at inkludere <stdio.h> i toppen af din fil.

#include <stdio.h>
Avatar billede johndenver Nybegynder
14. maj 2002 - 11:08 #9
jeg har includeret den der i mit script

jeg forstår bare ikke helt at tyde den der int ting

bliver int left
til en variable eller hvad?

kan du ikke tyde den lidt bedre for mig en gang?
Avatar billede laffe Nybegynder
14. maj 2002 - 11:11 #10
funktionen returnerer det tal som der blev fundet.

int er et heltal.
Avatar billede laffe Nybegynder
14. maj 2002 - 11:12 #11
f.eks:

int tal;

tal = left(11045,2);

variablen tal vil nu have værdien 1.
Avatar billede johndenver Nybegynder
14. maj 2002 - 11:25 #12
fuck hvor smukt :)

prøver lige en gang
så vender jeg lige tilbage
Avatar billede laffe Nybegynder
14. maj 2002 - 11:58 #13
Tak
Avatar billede jpk Nybegynder
14. maj 2002 - 12:08 #14
int left(int nInput, int nNumber)
{
  char buffer[100];
  sprintf(buffer, "%d\n", nInput); //<-- "smartere" terminering
  return atoi(buffer[nNumber-1]);
}
Avatar billede laffe Nybegynder
14. maj 2002 - 12:23 #15
korrekt. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester