Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 03:39

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



String's

Discussion on String's within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2010
Posts: 24
Received Thanks: 2
Question String's

hallo
Habe 2 Programme die ich nicht verstehe.
1->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Code:
#include <iostream>
#include <string>
int main()
{
    using namespace std;
    cout << "Enter a word: ";
    string word;
    cin >> word;

    
    char temp;
    int i, j;
    for (j = 0, i = word.size() - 1; j < i; --i, ++j)
    {                       // start block
        temp = word[i];
        word[i] = word[j];
        word[j] = temp;
    }                       // end block
    cout << word << "\nDone\n";
    // cin.get();
    // cin.get();
    return 0; 
}
__________________________
Enter a word: stressed
desserts
Done
Also was passiert hier im Block:
{
temp = word[i]; // 'd' geht in temp oder ?
word[i] = word[j]; //werden hier 's' und 'd' vertauscht ?
word[j] = temp; //werden hier 'd' und 's' wieder vertauscht ?
}
Es dreht sich doch alles im Kreis oder net ? (anscheinend nicht)

2->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Code:
#include <iostream>
int main()
{
    using namespace std;
    char ch;
    int count = 0;      
    cout << "Enter characters; enter # to quit:\n";
    cin >> ch;          
    while (ch != '#')   
    {
        cout << ch;   
        ++count;        
        cin >> ch;      
    }
    cout << endl << count << " characters read\n";
// get rid of rest of line
     // while (cin.get() != '\n')
        // ;
//cin.get();
    return 0; 
}
____________________________
Enter characters; enter # to quit:
see ken run#really fast
seekenrun
9 characters read

und was passiert hier im Block:
{
cout << ch;
++count;
cin >> ch;
}
Wenn man zum beispiel nur ein Symbol eingibt also:
Enter characters; enter # to quit:
S //dann ist mir alles klar

Aber wenn man eine ganze Zeile eingibt also :
see ken run
Das programm vergleicht doch immer nur 1 Symbol(mit '#') oder ?
Zuerst 's'dann 'e' , wieder 'e' , 'k', 'e' ,'n' usw.
Also->
while ('s' != '#') //das ist TRUE
im block dann ->
verstehe ich nicht was da passiert, da(cmd) wird ja sofort die ganze Zeile angezeigt :see ken run .Und ich kann wieder was eingeben .
Passierts so schnell dass ichs nicht sehen kann?
wie auch immer,weiter kommt ja "++count" hier bekommt count +1 ok (wir sind immer noch bei 's') so .Aber jetzt kommt ja cin >> ch;.Wie kommt das programm jetzt an 'e'. ?

Ich hoffe ihr konnt mich verstehen und mir helfen

Danke
ExHack is offline  
Old 01/02/2013, 01:50   #2
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Quote:
Also was passiert hier im Block:
{
temp = word[i]; // 'd' geht in temp oder ?
word[i] = word[j]; //werden hier 's' und 'd' vertauscht ?
word[j] = temp; //werden hier 'd' und 's' wieder vertauscht ?
}
Es dreht sich doch alles im Kreis oder net ? (anscheinend nicht)
Da dreht sich nichts im Kreis. Zuerst in eine hilfsvariable den alten wert von word[i] kopieren, dann word[i] mit word[j] überschreiben und zum schluss in word[j] den zwischengespeicherten, alten wert von word[i] reinschreiben. Man tauscht also die werte von word[i] und word[j].

Quote:
Passierts so schnell dass ichs nicht sehen kann?
Ja dat geht fix. Wenige Nanosekunden dauert das.

Quote:
Aber jetzt kommt ja cin >> ch;.Wie kommt das programm jetzt an 'e'. ?
Les dir das doch mal durch hier:
xNopex is offline  
Thanks
1 User
Old 01/03/2013, 14:11   #3
 
.Scy's Avatar
 
elite*gold: 15
Join Date: Jul 2010
Posts: 3,926
Received Thanks: 1,158
zum 2ten programm:
Code:
 while (ch != '#')   
    {
        cout << ch;   
        ++count;        
        cin >> ch;      
    }
solange keine raute dort ist führt er die schleife aus. er nimmt sich den ersten char und guckt ob dieser char eine raute ist, wenn nicht führt er die schleife aus und setzt so den counter auf 1, dann nimmt er den zweiten char und macht das gleiche wenn es wieder keine raute ist wird der counter auf 2 gesetzt und das solange bis er eine raute findet. danach gibt er den counter aus.
.Scy is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[Visual Basic] [Problem] String auslesen/String zufällig wählen
05/06/2012 - General Coding - 4 Replies
Code: #include <GUIConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Name Generator", 236, 299, 815, 246) $Input1 = GUICtrlCreateInput("Username", 24, 72, 185, 21) $Input2 = GUICtrlCreateInput("Username", 24, 104, 185, 21) $Input3 = GUICtrlCreateInput("Username", 24, 136, 185, 21) $Input4 = GUICtrlCreateInput("Username", 24, 168, 185, 21) $Input5 = GUICtrlCreateInput("Username", 24, 200, 185, 21)
[VB08]String in String mit mehreren Funden
08/08/2011 - .NET Languages - 6 Replies
Hey, bin gerade auf ein Problem gestoßen, an dem ich mir seit 3 Stunden die Zähne ausbeiße. Ich will eine Funktion schreiben, die der _StringBetween Funktion von AutoIt gleich ist. _StringBetween gibt in einem Array alle Strings zwischen zwei SubStrings und dem ganzen String aus. Die Ausgabe bei _StringBetween("<h1>test1</h1>&l t;h1>test2</h1>", "<h1>", "</h1>") wäre also idealer Weiße ein Array (x = "test1", x = "test2")... da man in VB08 kein Array returnen kann, komme ich aber einfach...
[VB.Net] String between???
03/17/2011 - .NET Languages - 5 Replies
Hi, gibts nen befehl in VB.Net für Stringbetween???? also z.B ich geb in eine Textbox ein <createGroup>TestName</createGroup> (brauch ich für ein Programm) das liest dann den text zwischen <createGroup> und </createGroup> aus also in dem fall "TestName" ich hatte an irgendwas mit
[C++] string zwischen string
11/11/2010 - C/C++ - 6 Replies
tag gibts direkt ne funktion, mit der man einen passenden string zwischen dem string suchen kann? also meine net .find() sondern sowas ähnliches, die in diesem beispiel "mein string sucht" Bsp: "<span id=\"lalala\">"+string mein_string+"</span>" understanden? :-)



All times are GMT +1. The time now is 03:39.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.