C
CharArray
Hallo!
In einer Aufgabe heißt es, man soll ein beliebig großes Array anlegen. Es könnte theoretisch unendlich sein.
So geht's ja nicht:
char wort[ ];
Ich habs über Pointer probiert.
...
char *ptr;
char wort;
cin >> wort;
ptr = new char[wort];
...
Darf man das überhaupt so machen?
Was aber, wenn das Programm die Zahl der Buchstaben ausgeben soll OHNE sizeof oder strlen?
Ich hab das hinbekommen, aber nur bei einer vorgegebenen const Anzahl der Arrayelemente.
Um die Anzahl zu berechnen, braucht das Unterprogramm ja die int Laenge, aber was wenn sie "beliebig" sein soll?
Vielleicht kann mir das ja jemand erklären ^^
Danke
In einer Aufgabe heißt es, man soll ein beliebig großes Array anlegen. Es könnte theoretisch unendlich sein.
So geht's ja nicht:
char wort[ ];
Ich habs über Pointer probiert.
...
char *ptr;
char wort;
cin >> wort;
ptr = new char[wort];
...
Darf man das überhaupt so machen?
Was aber, wenn das Programm die Zahl der Buchstaben ausgeben soll OHNE sizeof oder strlen?
Ich hab das hinbekommen, aber nur bei einer vorgegebenen const Anzahl der Arrayelemente.
Code:
#include<iostream>
#include<string>
using namespace std;
void readString(int Laenge, char *teststring);
/* -----------------------------
Das Hauptprogramm mit Aufruf von 2 Funktionen.
-----------------------------*/
void main()
{
const int Laenge = 10;
char teststring[Laenge]= {};
cout << "Bitte geben Sie ein Wort ein: ";
readString(Laenge, teststring);
}
/* ----------------------------
Einlesen der kleinbuchstaben
----------------------------*/
void readString(int Laenge, char *teststring)
{
bool abbruch = false;
char testeing;
int input;
int i=0;
while(abbruch == false)
{
cin.get(testeing);
input = int (testeing);
teststring[i] = testeing;
if(input != 10)
i++;
if((input == 10) || (i >= Laenge))
abbruch = true;
}
cout << i;
return;
}
Um die Anzahl zu berechnen, braucht das Unterprogramm ja die int Laenge, aber was wenn sie "beliebig" sein soll?
Vielleicht kann mir das ja jemand erklären ^^
Danke