Forum Forum studentów IV roku EiT Politechniki Śląskiej Strona Główna

Forum studentów IV roku EiT Politechniki Śląskiej

 

Zajęcia punktowne u A. Milik'a
Idź do strony Poprzedni  1, 2, 3  Następny
 
Napisz nowy temat   Odpowiedz do tematu    Forum Forum studentów IV roku EiT Politechniki Śląskiej Strona Główna -> Semestr 3 / PPK
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
randolf




Dołączył: 10 Paź 2007
Posty: 383
Przeczytał: 0 tematów


PostWysłany: Śro 18:10, 05 Lis 2008    Temat postu:


GREY napisał:
mala_litera() == islower()
duza_litera() == isupper()


Do czego to?
Powrót do góry
Zobacz profil autora
Gość







PostWysłany: Śro 18:55, 05 Lis 2008    Temat postu:

Dajcie namiary na teog gmaila co to jest wrzucone bo niestety nie posiadam:/ Zgóry dzieki.
Powrót do góry
smk




Dołączył: 12 Paź 2007
Posty: 102
Przeczytał: 0 tematów

Skąd: NW

PostWysłany: Śro 19:13, 05 Lis 2008    Temat postu:

http://www.eitps.fora.pl/ogloszenia,8/poczta-gmail,433.html
Powrót do góry
Zobacz profil autora
Zack de la Rocha




Dołączył: 10 Lis 2007
Posty: 187
Przeczytał: 0 tematów


PostWysłany: Śro 19:18, 05 Lis 2008    Temat postu:

@randolf

islower(char) zwraca ci jedynkę, jeśli znak char jest małą literą, a druga funkcja analogicznie dla 2.

Ja nie mogłem znaleźć w helpie tych funkcji więc napisałem sobie swoje własne o identycznym działaniu.


randolf napisał:


Mógłby ktoś nad tym pomyśleć:

Cytat:
Piekny Wojciech
Napisac program ktory zlicza roznice na bitach 2 liczb calkowitych, uzywajac tego sposobu ktory podobno na wykladzie byl.


pozdrawiam


Nie wiem jaki sposób był na wykładzie, ale zrobiłem ten program, jest na gmailu.


Ostatnio zmieniony przez Zack de la Rocha dnia Śro 20:11, 05 Lis 2008, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
randolf




Dołączył: 10 Paź 2007
Posty: 383
Przeczytał: 0 tematów


PostWysłany: Śro 21:49, 05 Lis 2008    Temat postu:

dzieki, szybko, krotko, zwiezle, ale moglbys wytlumaczyc jak dzialaja te operatory ktorych uzyles?
Powrót do góry
Zobacz profil autora
GREY




Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów

Skąd: Żory/DS Ondraszek

PostWysłany: Śro 22:08, 05 Lis 2008    Temat postu:

Wg. mojego sizeof(int) liczby cakowite maja przypisane 4 bajty (czyli 32bity), a nie 1 bajt (czyli 8bitow). Tak wiec lepszy sposob na okreslenie liczby bitow byloby:

Kod:
sizeof(int)*8


Co do operatorow to pewnie chodzi Ci o ten fragment:

Kod:
for(int i=0; i< BITY; ++i){
       
        if((liczba1 & maska) ^ (liczba2 & maska))
        licznik++;
       
        maska*=2;
}

Tak wiec:
& to AND binarny
^ to XOR binarny

Dzialanie jest bardzo proste. Przyjmijmy, ze faktycznie mamy liczbe 8 bitowa. Tak wiec maska z 1 to 00000001, operacja "liczba AND 00000001" wyzeruje nam wszystkie pozycje poza najmlodsza. Takie same dzialanie jest wykonywane na obydwoch liczbach i zwracane do ifa (liczba1 i liczba2 nie sa w zaden sposob modyfikowane. Nastepnie obie wartoscio sa XORowane. Jesli sa rozne to mamy 1 czyli prawde, jesli nie to 0 czyli falsz. Jesli prawda to licznik zmian zwiekszy sie o jeden. Za ifem, jedynka w masce zostaje przesunieta w lewo "maska *= 2" (mozna bylo tez uzyc operatora "<<= 1" do tego celu). Dzieki temu w nastepnym przebiegu petli bedziemy porownywac starsza liczbe. I tak w petli 8 razy :3


Ostatnio zmieniony przez GREY dnia Śro 22:19, 05 Lis 2008, w całości zmieniany 3 razy
Powrót do góry
Zobacz profil autora
GREY




Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów

Skąd: Żory/DS Ondraszek

PostWysłany: Czw 20:17, 06 Lis 2008    Temat postu:

Ja dostalem tez mnozenie wielomianow ale musialem wykozystac struktury i referencje. Wynikowy kod okazal sie o wiele przyjazniejszy niz kod randolfa i ocenil to na 4. Sam Milik ocenial bardzo lajtowo. Mozna bylo dostac nawet 3.5pkt za nieskonczone zadanie.

Kod:
#include <iostream>
using namespace std;

struct wielomian {
        int stopien;
        int wspolczynnik[51];
};

void pokaz(const wielomian & wie) {
        for (int i = wie.stopien; i >= 0; i--) {
                if (wie.wspolczynnik[i] != 0) {
                        cout << wie.wspolczynnik[i];
                        if (i > 0) {
                                if (i > 1)
                                        cout << "x^" << i << " + ";
                                else
                                        cout << "x + ";
                        }
                }
        }
        cout << endl;
}

void podaj(wielomian & wie) {
        cout << "Podaj stopien wielomianu: ";
        cin >> wie.stopien;
        cout << "Podaj wspolczynniki wielomianu zaczynajac zerowego." << endl;
        for (int i = 0; i <= wie.stopien; i++) {
                cout << i << ": ";
                cin >> wie.wspolczynnik[i];
        }
        pokaz(wie);
}

wielomian mnozenie(const wielomian & wiea, const wielomian & wieb) {
        wielomian wie;
        for (int i = 0; i < 51; i++)
                wie.wspolczynnik[i] = 0;

        wie.stopien = wiea.stopien + wieb.stopien;
        for (int i = wiea.stopien; i >= 0; i--) {
                for (int j = wieb.stopien; j >= 0; j--)
                        wie.wspolczynnik[i+j] += wiea.wspolczynnik[i] * wieb.wspolczynnik[j];
        }

        return wie;
}

int main() {
        wielomian wie1, wie2, wie3;

        podaj(wie1);
        podaj(wie2);
        wie3 = mnozenie(wie1, wie2);
        pokaz(wie3);

        return 0;
}

Przyklad dzialania:

Kod:
Podaj stopien wielomianu: 2
Podaj wspolczynniki wielomianu zaczynajac zerowego.
0: 1
1: 2
2: 3
3x^2 + 2x + 1
Podaj stopien wielomianu: 1
Podaj wspolczynniki wielomianu zaczynajac zerowego.
0: 1
1: 2
2x + 1
6x^3 + 7x^2 + 4x + 1


Ostatnio zmieniony przez GREY dnia Śro 23:52, 12 Lis 2008, w całości zmieniany 2 razy
Powrót do góry
Zobacz profil autora
randolf




Dołączył: 10 Paź 2007
Posty: 383
Przeczytał: 0 tematów


PostWysłany: Czw 20:27, 06 Lis 2008    Temat postu:

Odnośnie tego mojego wielomianu to tam jest błąd w koncowym wypisywaniu x do n-tej potęgi, sam algorytm jest ok, współczynniki też dobrze liczy, tylko podawany stopien wielomianu na koncu sie nie zgadza, ale latwo to sobie przeciez policzyc bo przeciez wspolczynnikow jest tyle ile stopni wielomianu.
Powrót do góry
Zobacz profil autora
GREY




Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów

Skąd: Żory/DS Ondraszek

PostWysłany: Pią 1:40, 07 Lis 2008    Temat postu:

Klaudia dostala NWD wg. algorytmu Euklidesa. Dziala dla liczb dodatnich pewnie dlatego, ze w czasach Euklidesa nie bylo liczb ujemnych:

Kod:
#include <iostream>
using namespace std;

int czyrowne(const int & n, int t[]) {
        for (int i = 0; i < n - 1; i++) {
                if (t[i] != t[i + 1])
                        return 0;
        }

        return 1;
}

void odejmin(const int & n, int t[]) {
        int m = t[0];

        for (int i = 1; i < n; i++) {
                if (t[i] < m)
                        m = t[i];
        }

        for (int i = 0; i < n; i++) {
                if (t[i] != m)
                        t[i] -= m;
        }
}

int main() {
        int n, tab[10];

        cout << "Podaj ilosc liczb [1-10]: ";
        cin >> n;
        cout << "Podaj liczby: ";
        for (int i = 0; i < n; i++)
                cin >> tab[i];

        while (!czyrowne(n, tab))
                odejmin(n, tab);

        cout << "NWD to: " << tab[0] << endl;

        return 0;
}

Przyklad dzialania:

Kod:
Podaj ilosc liczb [1-10]: 3
Podaj liczby: 4 8 22
NWD to: 2


Ostatnio zmieniony przez GREY dnia Sob 10:08, 08 Lis 2008, w całości zmieniany 9 razy
Powrót do góry
Zobacz profil autora
randolf




Dołączył: 10 Paź 2007
Posty: 383
Przeczytał: 0 tematów


PostWysłany: Pon 23:52, 01 Gru 2008    Temat postu:

Co mieliście na trzecich punktowanych?
Powrót do góry
Zobacz profil autora
mariuszl2




Dołączył: 16 Paź 2007
Posty: 275
Przeczytał: 0 tematów


PostWysłany: Wto 14:43, 02 Gru 2008    Temat postu:

Napisac klase Ctime, private: godz, min, sek.
Metody:
Set(godz, min, sek) - do ustawiania godziny,
Set(sek) - przelicza ilosc podanych sekund na konkretna godzine,
Jakas metoda wyswietlajaca godzine,
Zdefiniowac operatory + i - (dodawanie i odejmowanie godzin)

A wszystko na typach unsigned log int i unsigned char wiec byly jakies problemy z wyjsciem i trzeba bylo z ostream czy czegos tam korzystac.
Powrót do góry
Zobacz profil autora
Timon




Dołączył: 10 Paź 2007
Posty: 548
Przeczytał: 0 tematów


PostWysłany: Wto 16:48, 02 Gru 2008    Temat postu:

aaa to dziedziczenia i polimorfizmu nie było?
Powrót do góry
Zobacz profil autora
GREY




Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów

Skąd: Żory/DS Ondraszek

PostWysłany: Wto 18:23, 02 Gru 2008    Temat postu:

Znajac Milika zrobil zestaw dwoch zadan: prostrze i dla zdolniejszych. To powyzej pewnie bylo to prostrze (sama klasa string i przeciazanie), a dla ambitnych wymyslil cos elo (czyli dziedziczenie i metody wirtualne).
Powrót do góry
Zobacz profil autora
cuber1988




Dołączył: 09 Paź 2007
Posty: 122
Przeczytał: 0 tematów


PostWysłany: Wto 20:08, 02 Gru 2008    Temat postu:

dziedziczenia i metod wirtualnych raczej nie bedziecie mieli bo jak do tej pory w zeszlym roku i w tym roku na tych laborkach przypadalo obciazanie operatorow... wiem ze na platformie to cwiczenie obejmuje dziedziczenie i metody wirtualne no ale my tego nie mielismy na ostatnich... samo przeciazanie operatorow...
Powrót do góry
Zobacz profil autora
mariuszl2




Dołączył: 16 Paź 2007
Posty: 275
Przeczytał: 0 tematów


PostWysłany: Wto 20:28, 02 Gru 2008    Temat postu:

GREY ma racje, ktos z grupy miał dziedziczenie i wirtualne, a byla to osoba z duza iloscia punktow za poprzednie laborki.
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Forum studentów IV roku EiT Politechniki Śląskiej Strona Główna -> Semestr 3 / PPK Wszystkie czasy w strefie CET (Europa)
Idź do strony Poprzedni  1, 2, 3  Następny
Strona 2 z 3

 
Skocz do:  
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


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
deox v1.2 // Theme created by Sopel & Download

Regulamin