Also, wo fange ich am besten an...
Genau. Also, ich habe vor einigen Tagen mal ein wenig mit 08/15 Verschlüsselung herumgespielt um habe dabei zu komplexe Algorithmen verwendet, als meine Schulklasse(ich bin selbst Schüler ) das verstehen könnte. Also habe ich mir gedacht ich schreibe einen eigenen Datentypen. Hier jetzt mein Problem:
Alles anzeigen
Alles anzeigen
Also mein Problem ist jetzt: Wie schreibe ich eine Funktion, die zum aktuellen Vector-Element den wert hinzuzählt der in objects definiert ist? Zur Erklärung:
Man soll entweder einen Wert (zb. 237 oder w23a) übergeben können. dann wird dieser wert bei objects rausgekramt der zb so aufgebaut ist:
und die dann addiert. wenn er oben hinausläuft, soll er das beim nächsten Vector-Element (Vector[i - 1]) addieren und so weiter. kann mir da vielleicht jemand helfen?
#EDIT: Nur so zur Info, ich hab grade erst angefangen
Genau. Also, ich habe vor einigen Tagen mal ein wenig mit 08/15 Verschlüsselung herumgespielt um habe dabei zu komplexe Algorithmen verwendet, als meine Schulklasse(ich bin selbst Schüler ) das verstehen könnte. Also habe ich mir gedacht ich schreibe einen eigenen Datentypen. Hier jetzt mein Problem:
C-Quellcode: datentyp.h
- #pragma once
- #include <vector>
- #include <stdarg.h>
- class data
- {
- public:
- data();
- data(int num, char w, ...);
- ~data();
- data& operator=(const data& d);
- data& operator+(const data& d);
- data& operator-(const data& d);
- data& operator*(const data& d);
- data& operator/(const data& d);
- data& operator%(const data& d);
- data& operator+=(const data& d);
- data& operator+=(const int d);
- data& operator-=(const data& d);
- private:
- std::vector <char> objects;
- std::vector <char> vector;
- long long int vector_size;
- int object_overflow_add(char v, char o);
- };
C-Quellcode: datentyp.cpp
- #include "datentyp.h"
- data::data()
- {
- for (int i = 0; i < 10; i++)
- objects.push_back(i);
- }
- data::data(int num, char w, ...)
- {
- va_list arguments;
- va_start(arguments, w);
- for (int i = 0; i < num; i++)
- objects.push_back(va_arg(arguments, char));
- va_end(arguments);
- }
- data & data::operator=(const data & d)
- {
- vector.resize(d.vector.size());
- for (int i = 0; i < vector.size(); i++)
- vector[i] = d.vector[i];
- return *this;
- }
- data & data::operator+=(const data & d)
- {
- return *this;
- }
- data & data::operator+=(const int d)
- {
- // TODO: hier Rückgabeanweisung eingeben
- }
- int data::object_overflow_add(char v, char o)
- {
- int actual;
- for (int i = 0; objects[i] != actual; i++)
- return -1;
- }
- data::~data()
- {
- }
Man soll entweder einen Wert (zb. 237 oder w23a) übergeben können. dann wird dieser wert bei objects rausgekramt der zb so aufgebaut ist:
Wert: | 2 | 3 | 7 | w | a |
Realer Wert: | 1 | 2 | 3 | 4 | 5 |
und die dann addiert. wenn er oben hinausläuft, soll er das beim nächsten Vector-Element (Vector[i - 1]) addieren und so weiter. kann mir da vielleicht jemand helfen?
#EDIT: Nur so zur Info, ich hab grade erst angefangen
Grüße, Power_Gamer122