Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

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

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 <
000
09.04.2009, 08:57 Uhr
Angelus23



Hey, hab da ein riesen Problem und bekomm es einfach nicht gebacken, wär nett, wenn mir jmd helfen könnte, sollte eigentlich für euch kein Problem sein:

Schreiben Sie eine funktion merge(), die zwei sortierte int-Vektoren zu einem wieder sortierten int-Vektor mischt. Die Funktion soll zu diesem Zweck ein dynmanisches Array (Vektor) anlegen, das beide int-Vektoren aufnehmen kann. Dann fügt sie die Elemente aus beiden Vektoren in sortierter Reihenfolge in den neuen Vektor ein.

Funktionskopf:
int* merge(int v1[], int len1, int v2[], int len2);
Return Wert: Zeiger auf den neuen gemischten Vektor.
Schreiben Sie dazu ein Hauptprogramm, in dem auch der Speicher für die beiden zu mischenden Vektoren dynamisch angelegt wird.

Bsp.: (2,3,6,8,9) gemischt mit (-1,7,8,10) ergibt (-1,2,3,6,7,8,9,10)

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.04.2009, 09:13 Uhr
ao

(Operator)


Bitte die Forumsuche benutzen, Suchen in Betreff und Post, Stichwort "Hausaufgabenservice"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.04.2009, 09:15 Uhr
Angelus23



Das ist KEINE HAUSAUFGABE! Ich hab Probleme mit dem dynamischen Anlegen für die beiden Arrays!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.04.2009, 09:33 Uhr
Oliver
S2-Pixelgeneral


Und was für konkrete Probleme? Soll jetzt hier schnell mal jemand ein Tutorial für dynamische Arrays in C++ hinschreiben? Das findest du bei google sicherlich schneller.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.04.2009, 09:34 Uhr
Angelus23



Ich weiß nicht, wie ich ein Array dynamisch anleg. Dachte so ein Forum ist für derartige Probleme da!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.04.2009, 09:38 Uhr
Oliver
S2-Pixelgeneral


Jain, ein Forum ist da, wenn du konkrete Probleme bei bestimmten Dingen hast. Das aber ist Grundlagenwissen und kann nicht mal so schnell erklärt werden. Du solltest dich also selbst erstmal mit der Sprache (zumindest den Grundlagen) beschäftigen, bevor du an solche (algorithmischen) Probleme herangehst
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.04.2009, 09:39 Uhr
ao

(Operator)


Für solche konkreten Fragen ist ein Forum da. Für "Schreiben Sie eine Funktion, die ..... macht und ein Hauptprogramm, das .... macht" nicht.

Ein Array dynamisch anlegen:

In C mit

C++:
#include <stdlib.h>

int * v1 = malloc (sizeof (*v1) * len);
if (v1 == NULL)
{
    /* Out of memory */
}



In C++ mit

C++:
int * v1 = new int [len];
if (v1 == 0)
{
    /* Out of memory */
}



Das Freigeben des Speichers (free bzw. delete[]) nicht vergessen.

Bei Verständnisschwierigkeiten einfach nochmal nachfragen.

Dieser Post wurde am 09.04.2009 um 09:42 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
09.04.2009, 17:47 Uhr
0xdeadbeef
Gott
(Operator)


In C++ ist das

C++:
try {
  int *v1 = new int[len];
} catch(bad_alloc &) {
  // Kein Speicher
}

// ...

delete[] v1;


...siehe 3.7.3 (2), 3.7.3.1 (3) und 5.3.4 (13) im Standard. Es geht auch

C++:
#include <new>

// ...

int *v1 = new(std::nothrow) int[len];
if(v1 == 0) {
  // Kein Speicher
}

// ...

delete[] v1;


Allerdings würde ich im Zweifel

C++:
#include <vector>

// ...

std::vector<int> v1(len);


benutzen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
11.04.2009, 21:51 Uhr
Pablo
Supertux
(Operator)



Zitat von Angelus23:
Das ist KEINE HAUSAUFGABE! Ich hab Probleme mit dem dynamischen Anlegen für die beiden Arrays!



ach, echt nicht? D.h. also, dass dein Arbeitgeber dir deine Aufgabe so gestellt hat "Schreiben Sie eine funktion merge()" krass.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: