Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zufallszahlen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
02.08.2004, 16:50 Uhr
0xdeadbeef
Gott
(Operator)


Die Reihenfolge, in der man die Header einbindet, sollte egal sein. Bei den Standardheadern auf jeden Fall, und die eigenen sollte man tunlichst so schreiben, dass es egal ist, sonst kriegt man nachher die wildesten Effekte.

Ich benutze MSVC nur äußerst selten, deswegen weiß ich grad nicht, was da unter Project -> Options genau einzubinden ist, aber es klingt mir irgendwie nach nem Linkerfehler (vorausgesetzt, packages == libraries).

Was die verketteten Listen angeht, die schreib ich in C++ am liebsten so:

C++:
#include <list>


es macht nun wirklich wenig Sinn, das Rad immer neu zu erfinden Schau dir die STL mal an, wenn du was gebacken kriegen willst, ist sie unglaublich praktisch.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
02.08.2004, 16:52 Uhr
virtual
Sexiest Bit alive
(Operator)


@Zero.
1. Laß dich nicht beirrent

2. Normalerweise sollte die Reihenfolge der Standardheader austauschbar sein. Es kann allerdings sicherlich zu Problemen führen, wenn Du eigene Header schreibst, die sich nicht an die gängigen Richtlinien halten.

So ist zb folgendes Konstrukt nur in einer bestimmten Reihenfolge der HEader kompilier bar:

C++:
// my.h
#ifndef MY_H
#define MY_H

#include <set>

class my
{
    std::set<int> x;
    ....
};

#endif


und

C++:
// my2.h
#ifndef MY2_H
#define MY2_H

class my2
{
    std::set<int> x2;
    ....
};

#endif


Anwendung:

C++:
#include "my.h"
#include "my2.h"

int main()
{
}


Vertauscht man nun die Includes, tut der Compiler sich schwer. Das liegt eigentlich nur an my2.h, ein nicht sauber Programmierter Header, der eben implizit die Includes von my.h erwartet.
Wie gesagt, man kann in der Regel davon ausgehen, daß die Header keine impliziten Abhängigkeiten haben. Man macht sie eher selbst...
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
02.08.2004, 19:22 Uhr
~Zero
Gast


Vielen Dank für eure Mühe Leute

Für alle die es Interessiert wie dieser Header aussieht:


C++:

#include <winsock2.h>
#include <iostream.h>
#include <fstream.h>
#include <system.hpp>
#include <inifiles.hpp>
#include <conio.h>
#include "File1.h"





Die Fehlermeldung besagt das auf die Klasse "Tello" nicht zugegriffen werden kann und das einige Private: Variablen mehrfach deklariert seien BLÖDSINN ! . Sobald ich über die Projektoptionen alle Packages einbinde klappt alles bestens
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
02.08.2004, 20:05 Uhr
Pablo
Supertux
(Operator)


aber winsock2.h conio.h sind nicht ANSI !!!
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
02.08.2004, 20:45 Uhr
Zero



gabs da nicht ne inet.h,arpa.h als alternative ? -hab irgendwas im Hinterkopf das es evtl. Unix Header sind.

Was meinst du mit "nicht ANSI" ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
02.08.2004, 20:51 Uhr
Pablo
Supertux
(Operator)


nicht ANSI bedeutet, dass sie nicht im standard enthalten sind.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
03.08.2004, 10:24 Uhr
Zero




Zitat von virtual:
Na, ich würde es mit einem set machen:

C++:
// 15 Verschiedene Zahlen ziehen, automatisch sortieren
std::set<int> zahlen;
while(zahlen.size()<15)
{
    zahlen.insert(rand()%80 + 1);
}
// ggf. in Vector umwandeln:
std::vector<int> zahlen_vector(zahlen.begin(), zahlen.end());






Habe keinen blassen schimmer wie ich jetzt auf die integer Zugreifen soll die durch rand() erstellt wurden, habe jetzt das set zum vector konvertiert damit ich es, so wie es in der Anleitung steht, wie ein ordinäres c array verwenden kann. Wenn ich die Variable "Zahlen" wie ein integer array anspreche kann er den + Oparator nicht finden (Fehlermeldung)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
03.08.2004, 12:52 Uhr
virtual
Sexiest Bit alive
(Operator)


mit zahlen[index], wobei 0<= index < zahlen.size().
Alternativ kannst Du auch std::val_array anstelle von vector verwenden. Das bietet sich etwa an, wenn du zB alle Zahlen auf einmal mit einer Zahl multiplizieren willst o.ä.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: