Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++]Sprawdzenie czy elementu cyfry są ciągiem rosnącym

Ostatnio zmodyfikowano 2016-05-13 08:47
Autor Wiadomość
patrix152
Temat założony przez niniejszego użytkownika
[C++]Sprawdzenie czy elementu cyfry są ciągiem rosnącym
» 2016-05-13 07:12:43
Witam w tym programie powwiny się wyswietlac ciagi rosnące, a wyswietalają mi się  nieuporządkowane , możecie na to spojrzeć :) ??
#include <iostream>
#include <fstream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main() {
ifstream inFile;
ofstream outFile;
inFile.open("cyfry.txt");
outFile.open("wynik26.txt");
string liczba;
bool rosnacy;
while(inFile.good()  ){
inFile>>liczba;
rosnacy=true;
for(int i=0;i<liczba.size() ;i++){
if(liczba>liczba[i+1])
rosnacy=false;
}
if(rosnacy)
outFile<<liczba;
cout <<liczba<<endl;


}



return 0;
}
P-148150
darko202
» 2016-05-13 07:57:23
1. zastanów się nad
 liczba>liczba[i+1]

? to nie powinno działać bo liczba string a liczba[ i ] ?
? co porównujesz, a co powinieneś  - liczby czy ciągi znaków

2. zapoznaj się z technologia debugowania programów
P-148151
mateczek
» 2016-05-13 08:47:06
@up zjadło mu nawiasy i zrobiło kursywę bo nie użył znaczników kodu
1. znaczniki:
 
[cpp]//tutaj wklej swój kod[/cpp]
 
2. przeczytaj kurs o odczytywaniu z pliku jest na tej stronie.
3. sprawdzenie stringa bez sprawdzenia czy liczba!!!

C/C++
#include <iostream>
#include <fstream>

using namespace std;
int main() {
    //string napis{"123456789"};
    string napis { "123465789" };
    bool rosnacy = true;
    for( int i = 0; i < napis.size() - 1; i++ ) { // w tym miejscu wychodziłeś poza tablicę !!!
        if( napis[ i ] > napis[ i + 1 ] ) {
            rosnacy = false; // czy jest sens ciągnąć analizę napisu po wykryciu nieprawidłowości ??
            break;
        }
    }
    if( rosnacy ) cout << napis << endl; else cout << "nieuporzadkowany" << endl;
}
P-148154
« 1 »
  Strona 1 z 1