Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » array und Zufall

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 ] [ 3 ] [ 4 ] [ 5 ]
000
10.12.2007, 17:25 Uhr
wolf360



Hallo,

wie starte ich einen zufallsgenerator bei c und wie schreibe ich ein array in eine Textdatei?

Ich will so eine art "Verschlüsselung" machen. Dafür hab ich ein 2.dim Array mit Buchstaben gefüllt, und mit dem Programm will ich dann Dateien verschlüsseln.

z.B. so:


C++:
while((r=getchar()) != EOF){
if ( r= 'a'){
r='XXX'
}
puts(r,datei);
}



okey da wo XXX is soll ein Zufallsgenarator hin, in das "a" durch einen zufälligen Buchstaben des 2.dim Array ersetzt wird!
Und und damit ich es später wieder "entschlüsseln" kann, will ich die Zufällig gesetze Zahl in eine Textdatei schreiben lassen, damit ich weiß was ersetzt wurde.

Wenn ich ein Array in eine Textdatei schreiben will, kommt immer ein Fehler, oder nur der 1. Buchstabe des Strings wird in die Datei gesetzt. Wie mach ich das?

Ich müsste dafür nur noch wissen wie ich ein array in eine Textdatei schreibe, und wie ich den Zufallsprinzip mit dem 2.dim mache?

gruß wolf360

mod edit: BENUTZE DIE CPP TAGS SELBER

Dieser Post wurde am 10.12.2007 um 18:09 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.12.2007, 18:04 Uhr
xXx
Devil


hmm <stdlib.h> hat rand und srand drin. Dann brauchst du noch <time.h> für time, um srand anständig initialisieren zu können.

Zum Bearbeiten von Dateien sollte FILE*, fopen, fclose, fread und fwrite reichen. <stdio.h> ist der Header.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.12.2007, 18:21 Uhr
wolf360



das es die beiden Funktionen gibt weiß ich auch... aber wie ich sie benutze weiß ich nicht?!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.12.2007, 18:25 Uhr
xXx
Devil



C++:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main()
{
    srand((unsigned)time(NULL));
    printf("%d", rand());
    return 0;
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.12.2007, 18:57 Uhr
öni



schau doch in der Suchfunktion. Das Thema Zufallszahl und schreiben in eine Textdatei hatten wir hier schon oft genug.

Unteranderem kannst du ja auch statt ein zufälliges Wort ein bestimmtes Wort nehmen das der Benutzer sich auswählt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.12.2007, 13:15 Uhr
wolf360



ich brauch ja keine zufallszahl sonder einen Zufallsbuchstaben aus einem 2.dim Array!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.12.2007, 14:04 Uhr
Suba Esel



Ja dann holst du dir ne Zufallszahl und greifst damit auf das 2dim Array zu...

array[rand()][rand()] so in der Art halt, musst noch aufpassen dass dein Index nicht zu groß wird.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
12.12.2007, 00:31 Uhr
Hans
Library Walker
(Operator)


Hi,
also z.B. so:

C++:
do
   x=rand();
while x>xMAX;
do
   y=rand();
while y>yMAX;

Buchstabe=array[x][y];



Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
12.12.2007, 14:55 Uhr
xXx
Devil


Hmm man kann rand auch einen Ramen zuweisen :P

C++:
int range_randome(int min, int max)
{ return min + (int)((max - min + 1) * rand() / (RAND_MAX + 1.0)); }
hoffe mal das das so C-Syntax ist ^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
12.12.2007, 15:55 Uhr
Hans
Library Walker
(Operator)



Zitat von xXx:
Hmm man kann rand auch einen Ramen zuweisen :P

Stimmt, bei Borland gibt es in stdlib sogar ein Makro Namens random, das einem sowas ähnliches liefert. Ist allerdings eine Borlandspezifische Erweiterung, die nicht im Ansi-Standard enthalten ist.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ] [ 5 ]     [ 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: