Avatar billede jih Nybegynder
23. august 2003 - 15:01 Der er 26 kommentarer og
1 løsning

finde bogstaver mellem tal

jeg skal til at lave et program som kan lave reduceringer (matematik) for mig... ik fordi det er svært at klare dem selv, men fordi så får jeg nogen træning i at programmere.... hvordan er det jeg lige kan gøre det? jeg har lavet det her indtil videre:

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

    int Plus (int x, int y) {
    return (x+y);
    }
   
    int Minus (int x, int y) {
    return (x-y);
    }

    int Gange (int x, int y) {
    return (x*y);
    }

    int Dividere (int x, int y) {
    return (x/y):
    }

    int main() {
    cout << "indtast ligning: ";
        cin >> a;

/*nogen fejl i det indtil videre? og hvad skal man så skrive? fx... hvis man skriver ind 2(a+b)-4(2x-3), skal den fange at man skriver det, og så reducere det... */

//WebPsycho
Avatar billede arne_v Ekspert
23. august 2003 - 15:07 #1
Mener du at:

2*(a+b)-4*(2*a-3) skal reduceres til -6*a+2*b-12

eller

at

a=1
b=2
x=3
2*(a+b)-4*(2*x-3) = -6

?
Avatar billede jih Nybegynder
23. august 2003 - 15:08 #2
2*(a+b)-4*(2*a-3) skal reduceres til -6*a+2*b-12
Avatar billede arne_v Ekspert
23. august 2003 - 15:10 #3
Det er en svær opgave.

Det kan lade sig gøre et stykke af vejen. Men det er ikke nemt.
Avatar billede jih Nybegynder
23. august 2003 - 16:02 #4
hmmm.... du kan ik komme med et eksempel så? hvad så med ligninger? fx. hvis du skal finde ud af hvad x er i: 2x+5*5x=90 ?
Avatar billede chapter Nybegynder
23. august 2003 - 16:07 #5
Som arne_v siger er opgaven meget kompleks og er mere en disciplin i at designe et program frem for reel programmering. Du skal have designet en parser som splitter udtrykket op og en fortolker med et sæt regler som dikterer hvad der skal gøres med produktet fra parseren. Med andre ord, vil du bruge meget længere tid på at designe en abstrakt specifikation fremfor programmering.
Avatar billede arne_v Ekspert
23. august 2003 - 16:08 #6
Igen meget meget svært at løse symbolsk (eksakt).

Ikke helt så svært at løse numerisk.

Hvis du er interesseret kan jeg godt sætte dig igang med hvordan du løser det
numerisk.

Men det vil formentlig kræve en 1000 linier eller der omkring.
Avatar billede jih Nybegynder
23. august 2003 - 16:11 #7
hmmmmmmmm... lol? det er vel i orden numerisk, hvis du vil hjælpe mig med det, når det er så svært? :-)
Avatar billede arne_v Ekspert
23. august 2003 - 16:19 #8
5 trin:

1)  Lav en funktion som konverterer en streng "27*x-90" om til
    et array af objekter:
      konstant 27
      operator *
      variabel x
      operator -
      konstant 90

2)  Lav en funktion der konverterer det array fra infix til postfix:
      konstant 27
      variabel x
      operator *
      konstant 90
      operator -

3)  Lav en funktion som kan beregne en værdi udfra postfix array og givne
    værdier for variable.

4)  Iterer dig frem til en lignings løsning med Newtons metode:

    f(x)=0 løses iterativt med x(n+1) = x(n) - f(x(n)) / f'(x(n))

    f'(x(n)) kan approximeres med:

    (f(x(n) + epsilon) - f(x(n)) / epsilon
Avatar billede arne_v Ekspert
23. august 2003 - 16:20 #9
Hov det blev kun 4 trin.

Men start med #1. Den er lige ud af landevejen.

Når du har den klar, så kan jeg hjælpe dig lidt igang med #2 - der
skal man bruge en stak og tage hensyn til operator precedence.
Avatar billede jih Nybegynder
23. august 2003 - 16:23 #10
hmmm... skal det lige siges at jeg er nybegynder med det først? de eneste programmer jeg har fundet ud af at lave er dem her:

1: finder ud af hvor mange % man har vundet (i starcraft)

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

    int Add (int x, int y) {
    return (x+y); }
   
    int Multiply (int x, int y) {
    return (x*y); }

    int Divide (int x, int y) {
    return (x/y); }

    int main() {
    cout << "Stats Calculator\n\n\tBy DeMoNiC!" << endl;
    cout << "\nWins: ";
    int a, b, c, d, e, f;
    cin >> a;
    cout << "\n\nLoss: ";
    cin >> b;
    f=100;
    c=Add(a,b);
    d=Multiply(a,f);
    e=Divide(d,c);
    cout << "\n\nCalculating..." << endl;
    cout << "\nYou have won " << e << " % of your games!" << endl;
    cout << "\n\n\n\n\tMade By DeMoNiC!\n\n\n\n";
    system("pause");
    return 0;
    }

og 2: bare en lille matematisk test:

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

    int Add (int x, int y) {
    return (x+y); }
   
    int Multiply (int x, int y) {
    return (x*y); }

    int Divide (int x, int y) {
    return (x/y); }

    int Subtract (int x, int y) {
    return (x-y); }

    int main() {
    cout << "Calculator\n\n\tBy DeMoNiC!" << endl;
    cout << "\n Enter two numbers to add: ";
    int a, b, c, d, e, f, g, h, i;
    cin >> a;
    cin >> b;
    c=Add(a,b);
    cout << "\n\nYour numbers, " << a << " + " << b << " = " << c << endl;
    cout << "\nEnter a number to multiply with " << c << ": ";
    cin >> d;
    e=Multiply(c,d);
    cout << "\n\nYour number, " << d << " multiplied with " << c << " = " << e << endl;
    cout << "\nEnter a number to divide by " << e << ": ";
    cin >> f;
    g=Divide(e,f);
    cout << "\n\nYour number, " << f << " divided by " << e << " = " << g << endl;
    cout << "\nEnter a number to subtract from " << g << ": ";
    cin >> h;
    i=Subtract(g,h);
    cout << "\n\nYour number, " << h << " subtracted from " << g << " = " << i << endl;
    cout << "\n\n\n\n\tMade By DeMoNiC!\n\n\n\n";
    system("pause");
    return 0;
    }

(de eneste funktioner jeg kan... indtil videre..)
Avatar billede arne_v Ekspert
23. august 2003 - 17:14 #11
Jeg tror at det vil blive en stor mundful at gå igang med.

Men du vil også lære meget af det.

Det vil dog kræve en stor tålmodighed.

Hvis du gerne vil se noget virke gutigt, så skal du nok kaste dig
over nogle opgaver som er lidt nemmere.
Avatar billede jih Nybegynder
23. august 2003 - 18:07 #12
ok.... kan du så hjælpe mig at komme i gang måske? jeg vil gerne kaste nogle flere points ind, hvis det er.... jeg vil bare gerne lære sådan noget med C++.... hvor meget vil du have for det? mellem 30-200.... ligeglad med prisen... ;-)
Avatar billede arne_v Ekspert
23. august 2003 - 18:32 #13
Start med #1.

Konvertering fra streng til et array af objekter.

Du skal have lavet en passende klasse.

Og en parse funktion.
Avatar billede jih Nybegynder
23. august 2003 - 18:35 #14
hmmmm ting jeg ik fatter er streng.... array.... klasse.... og parse funktion... dvs... fatter stort set keine af det der.... ku jeg få det uddybet? eller noget... ?
Avatar billede arne_v Ekspert
23. august 2003 - 20:49 #15
Så skal du starte med at udvide din C++ "værktøjs-kasse" lidt.

Har du en C++ bog ?

Ellers kunne du f.eks. downloade Maz Spork's glimrende bog og
start på den.
Avatar billede jih Nybegynder
23. august 2003 - 20:55 #16
tjae... jeg har en... learn C++ in 21 days... den er bare mega lang... skal læse mega langt hver dag.... værktøjskasse? hvad mener du med det? altså... skal jeg bare læse mig gennem den bog før jeg spørger mere, eller hvad er det du siger? fordi jeg vil gerne lære mere hele tiden... ik bare en ting om dagen... første dag lærte jeg om cout.. anden dag om cin... tredje dag om variables... sådan vil jeg ik have det... fordi min hjerne er stort set skabt til at lære flere ting ad gangen... ved ik hvorfor... men kan du ik lære mig lidt af det du snakker om der? fordi alt det der står i bogen... det meste af det er unødvendigt at læse, og så hopper man lidt, og så gider man ik at læse så meget, og bliver ved med at hoppe, og til sidst, når man skal svare på spørgsmål (der er en quiz i slutningen af hver dag) kan man ik svare på noget som helst... bare nogle få af dem... ku du måske hjælpe mig lidt med at lære lidt hurtigere? (dvs. lære mig noget med det... nogle dele af det jeg skal bruge...) du ku lære mig en ting ad gangen... fx... parse funktion... klasse... streng... (det er vist vigtigt) og array...?
Avatar billede arne_v Ekspert
23. august 2003 - 21:14 #17
Hm

Nogen er glade for de der Sams lær X på Y dage bøger.

Andre synes at der er lidt mange sider i forhold til substansen.

Du må gøre dig klart at du kommer ikke uden om at lære alle de ting.

Men det lyder som om bogen ikke passer til dit temperament.

Prøv og hent Maz Sporks bog her http://maz.spork.dk/oopbog.pdf og se om
hans stil passer dig bedre.

Jeg vil godt hjælpe lidt, men jeg har ikke tid til at køre
et C++ kursus online.
Avatar billede jih Nybegynder
23. august 2003 - 21:20 #18
hmm.... er i gang med at hente den... men jeg siger ik du skal bruge al din tid herinde... mener bare... om du kan hjælpe mig lidt... fortælle mig nogle ting.. sådan en gang ind i mellem... men d r vel ligemeget så :-)
Avatar billede arne_v Ekspert
23. august 2003 - 21:23 #19
Jeg vil gerne hjælpe når du har spørgsmål.
Avatar billede arne_v Ekspert
23. august 2003 - 21:26 #20
Jeg er ihvertfald overbevist om at du vil synes at Maz Spork går mere
direkte til værks.

De emner du har beskrevet får ca. 1 side hver og så er det videre.
Avatar billede jih Nybegynder
23. august 2003 - 23:41 #21
hmmm... nu har jeg læst de første to kapitler.... har ik lært andet en grunden til alt, og hvad det betyder osv osv...
Avatar billede arne_v Ekspert
23. august 2003 - 23:48 #22
Kap. 1 er bare noget snik snak
Kap. 2 gennemgår hele sproget - meget af det kan du sikkert
Kap. 3-5 går så i dybden med klasser og objekt orineteret programming - noget af det er tungt stof
Avatar billede jih Nybegynder
23. august 2003 - 23:51 #23
ok... fordi jeg stoppede nemlig i starten af kapitel 3..... hvad så? skal jeg så bare læse det i morgen eller sådan noget, og så skrive her bagefter, eller? du tjekker dette spm sådan jævnligt? eller får du mail når jeg svarer? hvis jeg ved det, kan jeg nemlig vide bedre hvor hurtig jeg skal være... :P
Avatar billede arne_v Ekspert
23. august 2003 - 23:53 #24
Jeg får en email hver gang du skriver noget i denne tråd.
Avatar billede jih Nybegynder
23. august 2003 - 23:54 #25
ok... godt så.... så skriver jeg bare, når jeg forstår noget af det... :-) og håber på et svar... :-)
Avatar billede arne_v Ekspert
24. august 2003 - 18:45 #26
Og så vil jeg tillade mig at kalde nogle af alle ovenstående kommentarer
for et svar.
Avatar billede arne_v Ekspert
24. august 2003 - 18:45 #27
svar
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