Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

11

01.01.2008, 22:16

Die random-Funktion habe ich eingebaut, damit alle mit denselben Werten testen können. Ich denke, dass die Zahlen sonst von Compiler zu Compiler unterschiedlich wären. Was ich nachher beim Bewerten verwende, ist natürlich eine andere Sache ;)

12

01.01.2008, 23:04

Aber eigentlich wird doch "rand()" und nicht "random()" verwendet.

Bei mir siehts derzeit noch etwa so aus:
Die Referenz: 6.157 s
Mein Implementierung: 5.218 s
(bei unveränderter Testumgebung versteht sich)

Ich verwende allerdings eine zusätzliche Funktion.
Ist das erlaubt?

13

01.01.2008, 23:28

Ey noch nicht starten ^^ Werd mich nachher oder morgen auch mal bemühen ... ehm hab jetzt nix gelesen aber umwandlung in Integer ist erlaubt? Nicht das ich das machen will ;) Und man kann davon ausgehen, dass in dem Vektor ausschließlich Zahlen stehen? (streams sind sooo lahm :D ) ?

usw. nen bissel konkreter bitte ^^
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

14

01.01.2008, 23:50

Dann fang besser mal an zu lesen^^

klar darfste zwischendrin in Integer umwandeln, nur das Ergebnis muss wieder nen std::string sein.


Zieht euch schonmal warm an, in dem Testprogramm schaffe ich ca.
referenz : meins = 1 : 0,07169 (Debug)
referenz : meins = 1 : 0,08126 (Release)

Ma schaun, was ich noch wegoptimieren kann :)

(und ma hoffen dass die Bewertungscompiler und Testsysteme genauso nett zu mir sind wie mein msvc 05)

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

15

02.01.2008, 00:30

@Alle:
Ich habe den Drumherum-Code noch ein wenig verändert (da war ein Fehler in der Funktion zum Generieren der zufälligen Zahlen).

@Deviloper:
Was ist denn an der Aufgabenstellung unklar? Natürlich darfst du in der Funktion machen, was du willst - solange am Ende das richtige Ergebnis rauskommt. Und wenn da steht, dass die Strings Zahlen enthalten, dann darfst du natürlich davon ausgehen, dass sie wirklich nur Zahlen enthalten. Schließlich baut das Testprogramm ja auch keine Strings zusammen, die außer '0'-'9' noch andere Zeichen beinhalten ...

@Helmut und mahe:
Das mit dem rand() habe ich geändert. War natürlich ein dummer Fehler!

@mahe:
Eigentlich soll die Implementierung nur aus einer Funktion bestehen. Wenn du richtig guten Speed haben willst, empfehle ich dir auch, auf jegliche Funktionsaufrufe zu verzichten. Wenn du trotzdem eine zusätzliche Funktion brauchst, dann packe sie doch als statische Funktion in ein struct:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// deine Summenfunktion

const std::string my_sum(const std::vector<std::string>& numbers)
{
    struct Helper
    {
        // deine Hilfsfunktion

        static int meine_hilfsfunktion(int a, int b)
        {
            return a + b;
        }
    };

    // Hilfsfunktion aufrufen

    int x = Helper::meine_hilfsfunktion(42, 7);

    // ...

}

16

02.01.2008, 12:08

Kann man davon ausgehen, dass es sich um positive Zahlen handelt? Oder muss man beachten, dass ein - als 1. Element des Strings vorhanden sein kann? Auch wenn das deine Lösung jetzt nicht beachtet ;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

17

02.01.2008, 12:31

Da die Referenzlösung als korrekt definiert ist, sind die Zahlen natürlich >= 0.

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

18

02.01.2008, 16:35

Ich habe den Test-Code etwas angepasst. Es wird jetzt auch das Verhältnis zwischen der Ausführungszeit der eigenen Lösung und der der Referenzlösung angezeigt.

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

19

02.01.2008, 17:00

Zitat von »"grek40"«




Zieht euch schonmal warm an, in dem Testprogramm schaffe ich ca.
referenz : meins = 1 : 0,07169 (Debug)
referenz : meins = 1 : 0,08126 (Release)

Ma schaun, was ich noch wegoptimieren kann :)


Da kann man ja gleich aufgeben!!! Habs aus Spaß mal getestet und meine Version ist grad ma knapp ne Sek schneller .. Da brauch ich meins erst gar net einschicken^^

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

20

02.01.2008, 17:05

Ach quatsch, der blöfft nur!
Bitte nicht aufgeben. Dabeisein ist alles!

Werbeanzeige