ich mit Umkehr meine Saiten von Ziffer 1 und 2umkehren einen String C++ ohne Reverse-Funktion
Jeder raten kann dementsprechend ein Problem haben?
Ich versuche, mit einem tempholder1 und tempholder2 als Funktionsvariablen und über for-Schleife umzukehren.
I cout << digit1 << digit2; // but do not get anything at the compiler.
Edited für eine bessere Effizienz
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cstring>
using namespace std;
/* GLOBAL DECLARATIONS */
/* FUNCTIONS */
// Reverse the string
void reverseString(string&);
// Transfer all the digits in a char array to an integer array
// Add two long integers
// Print out the long integers
int main()
{
string digit1, digit2;
char again; // Y for menu
do
{
// Fetch Values
cout << "Enter a string of digits: ";
cin >> digit1;
cout << "Enter a string of digits: ";
cin >> digit2;
// Reverse the string
reverseString(digit1);
reverseString(digit2);
cout << digit1 << digit2;
// Return sum of both values
cout << "The sum is: ";
// Do it again?
cout << "Continue (Y/N)?: ";
cin >> again;
} while ((again=='y')||(again=='Y'));
}
// Reverse the string
void reverseString(string& digit)
{
string tempholder1;
// tempholder1 = reverse of digit1
int k=0;
for(int i=digit.length()-1;i>=0;i--)
{
tempholder1[k]=digit[i];
k++;
}
digit=tempholder1;
}
Warum kehrt reverseString zwei Zeichenfolgen um, statt dass sie eine Zeichenfolge umkehren und sie dann zweimal aufrufen? –
@TimB ich benutzte string & digit1, string & digit2 (als Referenz übergeben) und void statement. so sollte es in Ordnung sein, 2 gleichzeitig zu tun –
Aber es ist immer noch eine schlechte Idee. Sie haben Code dupliziert und die Funktion weniger nützlich gemacht. (Was ist, wenn Sie 1 String oder 3 umkehren möchten?) –