AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [c++] mehrdimensionales dynamisches Array
Thema durchsuchen
Ansicht
Themen-Optionen

[c++] mehrdimensionales dynamisches Array

Ein Thema von The Lord · begonnen am 16. Nov 2007 · letzter Beitrag vom 18. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
The Lord

Registriert seit: 19. Sep 2005
Ort: Dortmund
125 Beiträge
 
Turbo Delphi für Win32
 
#1

[c++] mehrdimensionales dynamisches Array

  Alt 16. Nov 2007, 18:03
Hi DP'ler. Ich habe so viele Fragen zu C++, aber da die meisten DP'ler auch C++ programmieren denke ich das mir hier immer gut geholfen wird

Ich versuche eine nxn Matrix einzulesen, wobei n zur Laufzeit eingelesen werden soll.

Ich habe folgendes Problem beim einlesen:

Hier erstelle ich das Array.
Code:
int **f2 = new int*[n]; //erstelle 2dim dynamisches Arrray

   for(int i=0;i<n;i++) //weise Speicheradressen zu
   {
      f2[i] = new int[n];
   }
Wenn ich das Array mit 0 fülle, dann klappt alles.
Code:

   for(int i=0;i<n;i++) //Benutzerein- ausgabe
   {      
      for(int j=0;j<n;j++)
      {         
         f2[i][j]=0;          
      }      
   }
Aber wenn ich den Benutzer die Daten einlesen lassen will, meckert der Compiler.
Code:

   for(int i=0;i<n;i++) //Benutzerein- ausgabe
   {      
      for(int j=0;j<n;j++)
      {
         cout << "M: n" << i << ", " << j << "\n";
         cin << f2[i][j];         
         cout << "\n";
      }      
   }
Kann mir da jemand helfen?

Gruß
Alexander
Dunkel die andere Seite ist...
Klappe Yoda und iss deinen Toast!
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#2

Re: [c++] mehrdimensionales dynamisches Array

  Alt 16. Nov 2007, 18:06
Zitat von The Lord:
Aber wenn ich den Benutzer die Daten einlesen lassen will, meckert der Compiler.

Kann mir da jemand helfen?
Was meckert er denn?
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
boserPascal

Registriert seit: 4. Apr 2006
96 Beiträge
 
Delphi 5 Professional
 
#3

Re: [c++] mehrdimensionales dynamisches Array

  Alt 16. Nov 2007, 18:07
Guck dir cin an!!! und dann guck dir mal andere Beispiele mit cin an

Gruß
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#4

Re: [c++] mehrdimensionales dynamisches Array

  Alt 16. Nov 2007, 18:10
Ich sags ma so:

cin >> dann hier die Variable.
Du hast aber << gemacht, das sollte der Fehler sein.
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
The Lord

Registriert seit: 19. Sep 2005
Ort: Dortmund
125 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: [c++] mehrdimensionales dynamisches Array

  Alt 16. Nov 2007, 18:14
Ja danke das war der Fehler

Also ich habe echt Probleme damit bei C++ zu debuggen, weil ich es bei Delphi besser gewohnt bin. Hier bekomme ich im glücklichsten Fall einen kleinen Hinweis, dass vllt ein ; vergessen wurde, aber jetzt z.B. gab es keinen Hinweis und es gab 49 Fehlermeldungen.

Ich habe 3 Entwicklungsumgebungen (Eclipse, DevC++, Visual C++).

Bin ich zu blöd, oder ist es wirklich so?

Danke für den Hinweis
Gruß
Alexander
Dunkel die andere Seite ist...
Klappe Yoda und iss deinen Toast!
  Mit Zitat antworten Zitat
Benutzerbild von Seppel
Seppel

Registriert seit: 14. Jun 2005
139 Beiträge
 
#6

Re: [c++] mehrdimensionales dynamisches Array

  Alt 16. Nov 2007, 18:32
C++ is halt so^^
Fehlerbehebung war der Grund warum ich zu Delphi ging.
In C++ ist sauber arbeiten Elemantar, in Delhi auch nur dass man dort häufig noch geholfen bekommt.
Sebastian
www.seppel.de.pn
  Mit Zitat antworten Zitat
boserPascal

Registriert seit: 4. Apr 2006
96 Beiträge
 
Delphi 5 Professional
 
#7

Re: [c++] mehrdimensionales dynamisches Array

  Alt 16. Nov 2007, 18:39
Zitat von The Lord:
Ja danke das war der Fehler

Also ich habe echt Probleme damit bei C++ zu debuggen, weil ich es bei Delphi besser gewohnt bin. Hier bekomme ich im glücklichsten Fall einen kleinen Hinweis, dass vllt ein ; vergessen wurde, aber jetzt z.B. gab es keinen Hinweis und es gab 49 Fehlermeldungen.

Ich habe 3 Entwicklungsumgebungen (Eclipse, DevC++, Visual C++).

Bin ich zu blöd, oder ist es wirklich so?

Danke für den Hinweis
Gruß
Visual C++ hat einen sehr guten Debugger drin und in Eclipse solltest du auch debuggen können, solange es richtig konfiguriert ist. Das ist hier aber unwichtig, da der Compiler einen Fehler liefern sollte und das tun sie alle. Ich schätze mal du hast Probleme die Fehlerbeschreibungen zu lesen, da sie doch etwas umfangreicher sind.

Gruß
Stefan
  Mit Zitat antworten Zitat
The Lord

Registriert seit: 19. Sep 2005
Ort: Dortmund
125 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: [c++] mehrdimensionales dynamisches Array

  Alt 16. Nov 2007, 18:47
Zitat von boserPascal:

Visual C++ hat einen sehr guten Debugger drin und in Eclipse solltest du auch debuggen können, solange es richtig konfiguriert ist. Das ist hier aber unwichtig, da der Compiler einen Fehler liefern sollte und das tun sie alle. Ich schätze mal du hast Probleme die Fehlerbeschreibungen zu lesen, da sie doch etwas umfangreicher sind.

Gruß
Ja aber ich fände anstelle eines ewig langen Textes die Aussage "in Zeile x wird nach cin >> erwartet" oder so besser. So würde es wahrscheinlich Delphi machen
Alexander
Dunkel die andere Seite ist...
Klappe Yoda und iss deinen Toast!
  Mit Zitat antworten Zitat
boserPascal

Registriert seit: 4. Apr 2006
96 Beiträge
 
Delphi 5 Professional
 
#9

Re: [c++] mehrdimensionales dynamisches Array

  Alt 16. Nov 2007, 19:08
Ich hab mir mal die Fehlerausgabe in Visual C++ 2005 angeschaut, die Ausgabe ist eigentlich eindeutig.

Zitat:
cin.cpp(19) : error C2784: "std::basic_ostream<char,_Traits> &std:perator <<(std::basic_ostream<char,_Traits> &,unsigned char)": template-Argument für "std::basic_ostream<char,_Traits> &" konnte nicht von "std::istream" hergeleitet werden.
Da steht das deine Umsetzung so nicht geht, weil es keine Implementierung dafür gibt. Wenn du dir dann noch die restliche Ausgabe anschaust, siehst du das der Compiler es noch mit anderen Typen probiert doch noch was zurecht zu mogeln. Es aber immer den gleichen Fehler gibt. Der Compiler kann an dieser Stelle eben nicht raten was du eigentlich vorhast, auch wenn es aus dem Kontext möglich wäre, für einen Menschen. Das mit dem Semikolon erwartet, macht er übrigens auch.
Stefan
  Mit Zitat antworten Zitat
DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#10

Re: [c++] mehrdimensionales dynamisches Array

  Alt 17. Nov 2007, 18:51
Darf ich nebenbei darauf hinweisen, daß für dynamische Arrays in C++ tunlichst std::vector verwendet werden sollte? Dadurch kann man die Zeit, die man sonst für das Debuggen des Zeigercodes aufwenden müßte, in andere Teile investieren.

Code:
#include <vector>

...

typedef std::vector <std::vector <int> > array2d_t; // zwecks Übersichtlichkeit
array2d_t array2d;
array2d.resize (dimension1);
for (array2d_t::iterator i = array2d.begin (), e = array2d.end (); i != e; ++i)
    i->resize (dimension2);

...
Noch besser wäre es freilich, wenn du dir eine Klasse für 2D-Arrays schreiben würdest
Moritz
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz