ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
575
575
EMPFEHLEN
-
05.06.04 18:08 #1
- Registriert seit
- Apr 2004
- Beiträge
- 2
hallo zusammen!
ich in der schule die aufgaben zu bekommen ein programm zu schreiben das wir später modular erweitern wollen. unser momentanes thema sind funktionen.
nun zu meinem problem, im main teil soll eine abfrage stattfinden wieviele namen einlesen werden sollen und dann ein dynamischer textvektor erstellt werden. dieser is ja dann 2 dimensinal, weil länge und anzahl der felder. wie kann ich diesen erstellen?
bis jetzt sieht das programm so aus
Code :1 2 3 4 5 6 7 8 9 10 11
#include <iostream.h> #include <stdio.h> // hier stehen noch deklarationen, sind aber uninteressant für mein problem void main() { int anzahl cout<<"Wieviele Namen sollen eingelesen werden? "; cin>>anzahl; char *namen=new char[100][anzahl]; }
aber dann kommt immer ein fehler das ich keine konstante angeben darf.
wär echt super wenn mir von euch jemand helfen könnt
achja und noch eine frage, wie lässt sich der komplette vektor in eine funktion übergeben? indem ich die klammern weglasse also z.b. funktion(namen) ?
-
Mehr als tausend Worte, ein Beispiel:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#include <unistd.h> #include <string.h> int main( argc, argv ) int argc; char **argv; { char **arr; int x; #define ANZAHL 12 arr = (char**)malloc( ANZAHL ); for( x=0; x<ANZAHL; x++ ) { arr[x] = (char*)malloc( ANZAHL ); strcpy( arr[x], "Hallo, Welt!" ); } for( x=0; x<ANZAHL; x++ ) printf("String %i: %s\n", x, arr[x] ); free(arr); }
teu teu...<Tsk> oiuyniyu98h987h89yh87y98yjn987j987y897yhkiuk;''''
<Tsk> sorry.. there was a spider on my keyboard.
-
06.06.04 17:13 #3
- Registriert seit
- Apr 2004
- Beiträge
- 2
also ich glaub ich hab soweit verstanden was das programm macht, nur wofür ist malloc gut? hab leider meine msdn nicht mehr =/
und wenn ich kompilieren will bekomme ich nen fehler wegen der unistd.h das er die nicht finden kann.. ich benutze microsoft visual c++ 6.0
-
Also in C++ benutzt man "new" und "delete" um Speicher zu alloziieren.
Unter Ansi C benutzt man malloc, realloc, free um mit Speicher zu arbeiten.
Code :1
char *wert = (char*) malloc( 1 )
ist das selbe wie:
Code :1
char *wert = new char[1];
Wegen unistd, gibt es wohl unter Windows nicht
<Tsk> oiuyniyu98h987h89yh87y98yjn987j987y897yhkiuk;''''
<Tsk> sorry.. there was a spider on my keyboard.
-
07.06.04 11:11 #5
- Registriert seit
- Jun 2004
- Ort
- Erlangen
- Beiträge
- 21
Ist ja auch ganz klar, weil unistd.h die Unix-Standard-Bibliothek ist. In windows müsste dies die stdio.h und die windows.h sein
Ähnliche Themen
-
X & Y -- Vektor
Von ComFreek im Forum C/C++Antworten: 8Letzter Beitrag: 01.08.09, 19:34 -
neue Zeile in 1-dimensionaler Array
Von mafiamix im Forum .NET Windows FormsAntworten: 5Letzter Beitrag: 11.08.08, 18:25 -
Problem mit 2-dimensionaler Hashtable
Von gamerfunkie im Forum JavaAntworten: 2Letzter Beitrag: 23.08.07, 13:44 -
Freehand fh10 Vektor Grafik als Vektor eps konvertieren
Von Spitty im Forum Vektor-ProgrammeAntworten: 1Letzter Beitrag: 09.05.07, 13:11 -
2 dimensionaler vektor
Von kurcob im Forum C/C++Antworten: 5Letzter Beitrag: 01.01.07, 21:44





Zitieren
Login






