hashtable linear probing wie fülle ich diese?
-
SeppJ schrieb:
Tja, dann wird sie wohl nicht dort gespeichert sein, wo sie gesucht wird. Wenn man eine IDE benutzt, muss man lernen, wie sie zu bedienen ist. Wenn du direkt compilierst, gib einen Includepfad an (meistens -IPfad).
Die Dateien liegen beide im gleichen Ordner was meinst du bitte mit Includepfad
ich habe#include "HashMap.h"
angegeben ist das kein gültiger Include Pfad
in der Hashtable habe ich#include "Aufgabe4.6.cpp"
für die Main Methode angegeben.
LG
Markus
-
In cpp File inkludiert man keine cpp Files - nur Header.
-
markuswenczel schrieb:
in der Hashtable habe ich
#include "Aufgabe4.6.cpp"
für die Main Methode angegeben.
Das ist falsch, damit erzeugst du eine zirkuläre Abhängigkeit. Nimm das Include einfach da raus. Woher muss die Hashtabelle auch main kennen?
-
manni66 schrieb:
Der Compiler wird wohl auch den Dateinamen nennen.
hashmap: No such file or directory.
-
markuswenczel schrieb:
manni66 schrieb:
Der Compiler wird wohl auch den Dateinamen nennen.
hashmap: No such file or directory.
Und wo ist die Datei?
-
ipsec schrieb:
markuswenczel schrieb:
in der Hashtable habe ich
#include "Aufgabe4.6.cpp"
für die Main Methode angegeben.
Das ist falsch, damit erzeugst du eine zirkuläre Abhängigkeit. Nimm das Include einfach da raus. Woher muss die Hashtabelle auch main kennen?
danke
-
manni66 schrieb:
markuswenczel schrieb:
manni66 schrieb:
Der Compiler wird wohl auch den Dateinamen nennen.
hashmap: No such file or directory.
Und wo ist die Datei?
Im gleichen Ordner.
das include war falsch, jetzt kompiliert das ganze aber tut nicht was ich wollte,aber danke für die Hilfe
-
Wollte ein Objekt erzeugen mit der Methode put
HashMap.put(key,svn);
aber das funktioniert so nicht
expected primary-expression before '.' token
ich dachte Klassenname.Methodenname(Parameterübergabe);
ist die Anweisung um die HashTable zu füllen,
hmmm#include <iostream> #include "HashMap.h" using namespace std; int main(){ for(int i=0;i!=0;i++) { cout<<"Bitte Sozialversicherungsnummer eingeben; Ende = '0'"<<endl; int svn; cin>>svn; int key=i; HashMap.put(key,svn); } }
-
so jetzt habe ich mal begonnen den Code auszubessern war ein peinlicher Fehler
naja,
Mit der Methode get hole ich mir die gespeicherten Werte über den Key,
soweit so gut, der return Wert ist ein array, was ich nicht so ganz verstehe ist
was an der HashTable so anders ist als bei einem gewöhnlichen Array....#include <iostream> #include "HashMap.h" using namespace std; int main(){ int svn; for(int i=1; svn!=0;i++) { cout<<"Bitte Sozialversicherungsnummer eingeben; Ende = '0'"<<endl; cin>>svn; int key=i; HashEntry(key,svn); } HashMap.get(key){ } }
-
markuswenczel schrieb:
so jetzt habe ich mal begonnen den Code auszubessern war ein peinlicher Fehler
Na wenn das der verbesserte Code sein soll, denn du jetzt wieder gepostet hast, dann ist da kein peinlicher Fehler drin, sondern einfach ein grundlegendes Unverständnis von C++. Vielleicht solltest du erstmal ganz kleine Brötchen backen, dich mal ein bisschen einlesen und vielleicht ein paar eigene Miniprojekte bauen, bevor du fremden Code abschreibst, den du nicht verstehst?
naja,
Mit der Methode get hole ich mir die gespeicherten Werte über den Key,
soweit so gut, der return Wert ist ein arrayNö, der return-Wert ist int.
-
Bashar schrieb:
Na wenn das der verbesserte Code sein soll, denn du jetzt wieder gepostet hast, dann ist da kein peinlicher Fehler drin, sondern einfach ein grundlegendes Unverständnis von C++. Vielleicht solltest du erstmal ganz kleine Brötchen backen, dich mal ein bisschen einlesen und vielleicht ein paar eigene Miniprojekte bauen, bevor du fremden Code abschreibst, den du nicht verstehst?
Ich hätt´s anders (und vor allem finaler. Gibt genügend schöne Berufe, wo man nicht programmieren muss) formuliert
@OP
Wie sieht denn dein Quelltext aus? Das, was du uns hier ständig vorsetzt benutzt zwar das cpp-code-formatting, aber du darfst dir ruhig etwas Mühe beim Ersetzen der Tabs durch Leerzeichen geben. So ist das jedenfalls schwer lesbar...
-
@markuswenczel: Ich glaube, ich bring das mal lieber auf den Punkt:
Wieso machst du dich dran ne Hashtabelle zu programmieren, wenn du keine Ahnung hast wie man programmiert?
Wenn das irgendeine Aufgabe aus Schule/Uni oder so ist dann mein Tipp: Schnapp dir schleunigst ein C++ Tutorial im Internet und arbeite es von Anfang bis Ende durch. Oberflächliche Tutorials kannst du an einem Tag oder zwei durcharbeiten.