Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Iteratoren

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
15.02.2005, 10:38 Uhr
~Fragezeichen
Gast


Hallo!
Ich schreibe morgen eine Klausur und habe folgende Übungsaufgabe vor mir liegen und muss leider gestehen, dass ich dafür nicht mal einen Ansatz habe. Vielleicht kann mir ja jemand helfen:

Aufgabenstellung:
**************************************************
Gegen seien folgende beide Sätze von Definitionen:

1.
const int n=10;
typedef int ValueType;
typedef ValueType* IteratorType;
typedef int ContainerType[n];

2.
typedef double ValueType;
typedef vector<double>::iterator IteratorType;
typedef vector<double> ContainerType;

Betrachten Sie nun folgenden Aufruf einer Funtion suche:

result=suche(begin, end, val);

Der Aufruf soll bewirken, dass der in dem durch die Iteratoren begin und end spezifierten Bereiche eines Containers nach dem Wer val gesucht wird und, falls dieser existiert, ein Iterator zurückgegeben wird, der auf den gefundenen Wert verweist.(Sonst soll Iterator end zurück gegeben werden.)

Schreiben Sie eine funktion suche, die für beide Sätze von Definitionen korrekt arbeitet.

***************************************************

Freue mich über jeden noch so kleinen Ansatz ;-)

LG
Fragezeichen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.02.2005, 12:27 Uhr
~somebody
Gast


Ich schätze mal, dass sind zwei Aufgaben (zwei Funktionen zu schreiben), für je eine der Definitionen:

Für 1.:

C++:
#include <stdio.h>

const int n=10;
typedef int ValueType;
typedef ValueType* IteratorType;
typedef int ContainerType[n];

//Variablen
ContainerType Container;

//Annahme: val komm nur ein mal im Container vor, sonst wir die Pos, des Ersten zurückgeliefert!
IteratorType suche(int begin,int end,ValueType val) {
  IteratorType i;
  for (i = Container + begin; i < Container + end; i++) {
    if (*i == val) return i;
  }
  return i++;
}


int main() {
  Container[0]=1;
  Container[1]=2;
  Container[2]=3;
  Container[3]=4;
  Container[4]=5;
  Container[5]=6;
  Container[6]=7;
  Container[7]=8;
  Container[8]=9;
  Container[9]=10;

  IteratorType x = suche(0,9,0);
  printf("%i",*x);
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.02.2005, 13:23 Uhr
~Fragezeichen
Gast


Vielen Dank schon mal!
Allerdings hatte ich die Aufgabe so verstanden, dass nur eine Funtkion suche geschrieben werden soll...
Aber damit kann ich schon mal etwas anfangen.

LG
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.02.2005, 15:48 Uhr
~somebody
Gast


Meine Vermutung, dass zwei seperate Funktionen zu schreiben sind, bezieht sich darauf, dass in der angabe für beide Sätze von Definitionen der Typ "ValueType" zwei mal deniniert wird, einmal als int und einmal als double. Ich schätze, wenn man beide Zeilen
"typedef int ValueType;"
und
"typedef double ValueType;"
in einen source-file schreibt würde der Compiler meckern...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: