nia plikow txt
#include <sstream> //potrzebne do stringstream ciag

using namespace std;

int main()
{
    ifstream ciagi;
    ciagi.open("ciagi.txt"); //otwieram plik ciagi.txt
    ofstream wynik;
    wynik.open("wyniki.txt");
    stringstream ciag;
    string ciag_string;
    int liczba1 = 0;
    int liczba2 = 0;
    bool czy_arytmetyczny = false;
    bool czy_monotoniczny = false;
    bool czy_rosnacy = false;
    bool czy_staly = false;
    bool czy_pierwszy_obieg = false;
    int roznica = 0;

    while(getline( ciagi, ciag_string )){ //tu pobieram sobie ca?y 1 wiersz i przypisuje go do ciag_string - petla bedzie dzialac dop?ki nie skoncza sie wiersze w ciagi.txt
        ciag.clear(); //czyszcze stringstream musi to byc
        ciag << ciag_string; //przypisuje sobie zawartosc wiersza (czyli ciag) do strumienia ciag dzieki temu latwo bede mogl odczytywac kolejne wyrazy ciagu w nastepnej petli while
        cout << ciag_string << endl;
        czy_arytmetyczny = true; //tu jakby z gory zakladam ze wszytko jest prawdziwe...
        czy_monotoniczny = true;
        czy_rosnacy = true;
        czy_staly = true;
        czy_pierwszy_obieg = true;
        ciag >> liczba1;
        while(ciag >> liczba2){ // ale potem to sprawdzam w tej petli
                //cout << liczba1 << " " << liczba2 << endl;
                if(czy_pierwszy_obieg){
                    roznica = liczba2 - liczba1;
                    if(liczba2 < liczba1) czy_rosnacy = false; else czy_rosnacy = true; //tu sprawdzam po pierwszych 2 wyrazach ciagu czy jest rosnacy czy malejacy...
                    if(liczba2 != liczba1) czy_staly = false; else czy_staly = true; //albo czy staly...
                    czy_pierwszy_obieg = false;
                } else{ //ale co jak ciag nie jest monotoniczny? wiec musze sprawdzic tez pozostale wyrazy ciagu
                    if(roznica != (liczba2 - liczba1)) czy_arytmetyczny = false;
                    if(liczba2 < liczba1 && czy_rosnacy == true){
                        czy_monotoniczny = false; //po 2 pierwszych wyrazach ciagu myslalem ze jest rosnacy a tu nagle liczba2 < liczba1 omg czyli ciag ten jest niemonotoniczny!
                        czy_staly = false; //nie jest wiec tez staly
                    } else //tu nie musi byc tego else ale moze
                    if(liczba2 > liczba1 && czy_rosnacy == false){
                        czy_monotoniczny = false; //po 2 pierwszych wyrazach ciagu myslalem ze jest malejacy a tu nagle liczba2 > liczba1 omg czyli ciag ten jest niemonotoniczny!
                        czy_staly = false;
                    }
                    if(liczba2 == liczba1){
                        czy_monotoniczny = false; //skoro dwa wyrazy w ciagu sa rownie to ciag nie jest ani rosnacy ani malejacy
                    } else czy_staly = false;
                }
                liczba1 = liczba2;
        }
        //wypisanie wyniku do wyniki.txt:
        if(czy_arytmetyczny) wynik << "ciag arytmetyczny i "; else wynik << "ciag niearytmetyczny i ";
        if(czy_staly) wynik << "staly" << endl;
        else if(!czy_monotoniczny) wynik << "niemonotoniczny" << endl;
        else if(czy_rosnacy) wynik << "rosnacy" << endl;
        else if(!czy_rosnacy) wynik << "malejacy" << endl;

        //wypisanie wyniku do konsoli:
        if(czy_arytmetyczny) cout << "ciag arytmetyczny i "; else cout << "ciag niearytmetyczny i ";
        if(czy_staly) cout << "staly" << endl;
        else if(!czy_monotoniczny) cout << "niemonotoniczny" << endl;
        else if(czy_rosnacy) cout << "rosnacy" << endl;
        else if(!czy_rosnacy) cout << "malejacy" << endl;
    }
    cin >> roznica; // tak o ?eby konsola nie znikala
    return 0;
}

Jak chcesz to analizowa? to wrzu? ten kod gdzie? ?eby ci go pokolorowa?o - lepiej si? czyta.
Najlepiej pobierz kod i przyk?adowy program st?d - http://www.mediafire.com/...egazadzinfy.zip

wyniki.txt dla przyk?adowego ciagi.txt i powy?szego kodu:
Kod:
ciag arytmetyczny i rosnacy
ciag arytmetyczny i malejacy
ciag niearytmetyczny i malejacy
ciag niearytmetyczny i niemonotoniczny
ciag niearytmetyczny i niemonotoniczny
ciag arytmetyczny i staly
ciag niearytmetyczny i rosnacy
ciag arytmetyczny i staly
ciag niearytmetyczny i niemonotoniczny
ciag niearytmetyczny i rosnacy


Ja u?y?em stringstream, getline() oraz dw?ch p?tli while dzi?ki czemu m?j program nie musi zna? d?ugo?ci ci?gu, ale skoro z tre?ci zadania znamy d?ugo?? kolejnych ci?g?w to mo?na ten program napisa? bez tego. M?j program sprawdza czy ci?g w og?le jest monotoniczny oraz czy nie jest czasem sta?y, ale z tre?ci zadania wnioskuj?, ?e w pliku ciagi.txt s? tylko 2 rodzaje ci?g?w - albo malej?cy albo rosn?cy. W takim przypadku mo?na by napisa? ten program pro?ciej. Jak podasz mi zawarto?? ciagi.txt to postaram si? napisa? prostszy kod. Je?eli nie rozumiesz kt?rego? fragmentu to pisz, a ch?tnie postaram si? ci go wyt?umaczy? ;) _________________
Aczigment get! Dziękuję wszystkim za sery! :*
0
 
     
Megravin 
Lider kampanii



PR3 Rank: 39
PR3 - Czapki: 14
PR2 Rank: 48
PR2 - Czapki: 12
Dołączył: 26 Sie 2011
Posty: 290
Posiadane Sery: 10
Ostrzeżeń:
 1/15/20
 #2  Wysłany: 2016-05-30, 17:56   

Bardzo, bardzo ci dzi?kuj?! :lol: :lol: Z tego co widz? jeste? bardzo dobrym informatykiem ;) Kiedy zacz??e? swoj? przygod? z C++? Jaka jest twoja decyzja w tej sprawie?

Je?li chodzi o ten plik... to niestety chyba nie istnieje, program mia? by? napisany bez niego XD (wiem, bez sensu...) Ca?kiem mo?liwe, ?e jeszcze kiedy? b?d? potrzebowa? twojej pomocy... Zgodzisz si?? :D
_________________
M17
0
 
     
P1 -kubpica 
Twórca kampanii
Miszcz gry



PR3 Rank: 30
PR3 - Czapki: 8
PR2 Rank: 34
PR2 - Czapki: 9
Wiek: 26
Dołączył: 31 Paź 2010
Posty: 879
Posiadane Sery: 28
Ostrzeżeń:
 7/15/20
 #3  Wysłany: 2016-05-30, 18:37   

Dzi?ki! Nie ma za co i zadania z informatyki to dla mnie sama przyjemno?? wi?c prosz? ich jak najwi?cej! haha :DD
Zacz??em uczy? sie c++ jako? w gimnazjum i do matury uczy?em si? samemu.

Ja si? nawet nie skapn??em, ?e by? b??d, bo sprawdzi?em tylko kilka pierwszych odpowiedzi i mia?em je dobrze (trzeba by?o napisa? program, kt?ry wypisze w notatniku chyba z 10000 s??w, b?d? bra? pod uwag? tylko pierwsze 700). Moja decyzja to zostawiam jak jest, nie pisz? 2 raz.

A powracaj?c do zadania to obawiam si?, ?e ci?gi mog? nie by? rozdzielone wierszami (np. wszystkie zapisane w 1 lini) w takim przypadku trzeba by skorzysta? z informacji o d?ugo?ci ci?g?w. Ale jak wygl?da ciagi.txt tego chyba si? nie dowiemy :D A skoro nie ma tego w te?ci zadania to my?l?, ?e mo?na to sobie za?o?y
_________________
Aczigment get! Dziękuję wszystkim za sery! :*
Ostatnio zmieniony przez -kubpica 2016-05-30, 18:52, w całości zmieniany 2 razy  
0
 
     
P1 -kubpica 
Twórca kampanii
Miszcz gry



PR3 Rank: 30
PR3 - Czapki: 8
PR2 Rank: 34
PR2 - Czapki: 9
Wiek: 26
Dołączył: 31 Paź 2010
Posty: 879
Posiadane Sery: 28
Ostrzeżeń:
 7/15/20
 #4  Wysłany: 2016-05-30, 20:18   

Skoro ju? kto? zagl?dn?? to tego tematu to mam ?mieszny ?art: :P
_________________
Aczigment get! Dziękuję wszystkim za sery! :*
0
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group

https://discord.gg/TGxXhe4

Stworzył PatrykSpec | bilety lotnicze
Zakaz usuwania linku autora ze stopki