• kudlaty  
    Wieczny Student
    Wydział: W-4 EKA
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0


  • Zrobił ktoś może te zadanka z tej listy pierwszej?
    _________________
    Kod:
     > >  Moneta ma 3 strony   < <

    Wszystko co napisze NIE MOŻE ZOSTAĆ UŻYTE PRZECIWKO MNIE!!! Będę twierdził, że byłem chwilowo NIEPOCZYTALNY...
    d41d8cd98f00b204e9800998ecf8427e
  • 0


  • kudlaty napisał/a:
    Zrobił ktoś może te zadanka z tej listy pierwszej?

    może byś przynajmniej treść/link podał? :wink:

    pzdr.
    _________________
    Wielki majestat wielkiego gmachu,
    Wybrany przez inkwizytora struktur.

    - Wallace Stevens


    [www]
    d41d8cd98f00b204e9800998ecf8427e
  • fonek  
    Wydział: W-2 BLiW
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0


  • zad 1. Napisz program, który czyta liczbę całkowitą 2<=k<=10 oraz liczbę całkowitą n>=0 a następnie drukuje zapis liczby n w systemie o podstawie k
    zad 2. Napisz funkcję, której argumentem jest liczba całkowitta 2<=k<=16 oraz napois złożony z cyfr i liter od Ado F będący zapisem liczby w systemie o podstawie k, natomiast wartością funkcji jest wartoś liczby zapisanej w napisie.
    zad3. Zaproponuj strukturę danych odpowiednią do przechowywania liczb zespolonych. Napisz funkcje wykonujące operację dodawania, odejmowania i mnożenia na tak reprezentowanych liczbach zespolonych
    zad4. Załóżmy że jedyną dostępną operacją jest mnożenie liczb rzeczywistych. Napisz ciąg instrukcji podstawienia, który wylicza x^27 jak najmniejszą liczbą mnożeń
    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • Program 01, zamiana z 10 na k-system. Tak jak pan Pawlik chcial, czyli od d*** strony :|

    Kod:
    #include <stdio.h>

    int main(void)
    {
        int k, n, i ,j;

        do{
            printf("Podaj podstawe systemu zamiany [2,10]: ");
            scanf("%d", &k);
            printf("\n");
        } while ( k < 2 || k > 10);

        do{
            printf("Podaj liczbe do zamiany: ");
            scanf("%d", &n);
            printf("\n");
        }while (n < 0);

        i = 0;
        j = 1;

        do{   
            j = j * k;

        } while (j <= n);

        j = j /k;

        do{
            i = 0;

            do{
                if ( (n - j) >= 0)
                {
                    i++;
                    n = n - j;
                }

            } while (n >= j);
           
            printf("%d", i);

            j = j / k;       

        } while (j >= 1);

        printf("\n\n"); return 0;
    }


    Bez komentarzy, niestety nie mam na nie czasu :/ Takze kazdy sobie musi dopisac. Zmiencie chociaz w nim dane, ok? :roll:
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:

    Ostatnio zmieniony przez Gorgonek 2007-03-04, 16:49, w całości zmieniany 1 raz 

    d41d8cd98f00b204e9800998ecf8427e
  • ramios  
    Wydział: W-2 BLiW
    Rok studiów: 2

    zobacz profil
    szybka wiadomość
  • 0


  • Proponuje dopisać na końcu programu jeszcze:
    flushall();
    getchar();
    ,bo nawet nie zdążycie wyniku zobaczyć :P Pozdro
    _________________
    "Widzę siebie w obrazach przeszłości
    Migawki życia przelatują przed moją twarzą
    Całe moje życie w jednej sekundzie
    Zapada cisza
    Nie czuję nic"
    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • ramios, tak byłoby gdybyśmy mieli do czynienia z programowaniem pod Windows'em :) getch() to funkcja biblioteki conio.h ;) Na szczescie pracujemy na Solaris'ie :)
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:
    d41d8cd98f00b204e9800998ecf8427e
  • ramios  
    Wydział: W-2 BLiW
    Rok studiów: 2

    zobacz profil
    szybka wiadomość
  • 0


  • Aha i jeszcz dopisać na końcu:
    return 0;
    albo zmienić typ funkcji na void, bo może kompilator wywalić błąd.
    Pozdro :)

    [ Dodano: 2007-03-04, 16:46 ]
    Spox Gorgonek ale napisałem getchar();, a to jest z stdio.h o ile pamiętam.

    [ Dodano: 2007-03-04, 16:49 ]
    A tak apropo, to nawet jeśli program będzie działał i Szanownemu Panu Pawlikowi się nie spodoba, to jestem program w plecy??
    _________________
    "Widzę siebie w obrazach przeszłości
    Migawki życia przelatują przed moją twarzą
    Całe moje życie w jednej sekundzie
    Zapada cisza
    Nie czuję nic"
    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • ramios, tylko po co ten getchar(); ? Pisałeś program pod linuxem ? :)

    O return 0; rzeczywiście zapomniałem :oops: Już poprawiam :)
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:
    d41d8cd98f00b204e9800998ecf8427e
  • ramios  
    Wydział: W-2 BLiW
    Rok studiów: 2

    zobacz profil
    szybka wiadomość
  • 0


  • Fakt pisałem program pod windowsem :P sorka:D
    _________________
    "Widzę siebie w obrazach przeszłości
    Migawki życia przelatują przed moją twarzą
    Całe moje życie w jednej sekundzie
    Zapada cisza
    Nie czuję nic"
    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • ramios napisał/a:
    A tak apropo, to nawet jeśli program będzie działał i Szanownemu Panu Pawlikowi się nie spodoba, to jestem program w plecy??


    Tu akurat nie wiem :/ Może da np 60% punktów [6 z 10, albo 12 z 20] za program który wykonuje to co powinien ale nie tak jak pan Pawlik sobie wymyślił? A może system 0,1 ;) Kto go tam wie :D
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:
    d41d8cd98f00b204e9800998ecf8427e
  • ramios  
    Wydział: W-2 BLiW
    Rok studiów: 2

    zobacz profil
    szybka wiadomość
  • 0


  • Dzięki Gorgonek:D
    Tymczasem napisałem zadanie nr 4:



    #include<stdio.h>


    int main()
    {
    int x,a,b,c;
    printf("Podaj x:\n");
    scanf("%d",&x);
    a=x*x*x; //x^27 mozna rzedstawic jako ((x^3)^3)^3; za x^3=x*x*x podstawiam a
    b=a*a*a; //analogicznie j.w.
    c=b*b*b; //analogicznie j.w
    printf("wynik:%d",c) ; //wynik jest otrzymany za pomoca 6 mnozen
    //x*x*x - 2 mnozenia a*a*a - 2 mnozenia,b*b*b - 2 mnozenia
    //razem 2+2+2=6


    return 0;
    }

    Proponuje, to porozbijać żeby było bardziej czytelne. No i zmieńcie komentarz i zmienne chociaż. Pozdro
    _________________
    "Widzę siebie w obrazach przeszłości
    Migawki życia przelatują przed moją twarzą
    Całe moje życie w jednej sekundzie
    Zapada cisza
    Nie czuję nic"

    Ostatnio zmieniony przez ramios 2007-03-04, 17:34, w całości zmieniany 1 raz 

    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • ramios, niestety ale wyraznie napisano "korzystasz tylko z mnozenia" :)

    Mam to rozwiazane, ale moj sposob bylo 2x bardziej czasochlonny dla programu niz Wolverine'a tyle że go nie ma i nie wiem czy mogę jego opublikować :/ Jak bede mial chwile wrzuce 3ci i 2gi :)
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:
    d41d8cd98f00b204e9800998ecf8427e
  • ramios  
    Wydział: W-2 BLiW
    Rok studiów: 2

    zobacz profil
    szybka wiadomość
  • 0


  • Heh kurde w sumie to racja, nie doczytałem. thx

    [ Dodano: 2007-03-04, 17:23 ]
    Ale w sumie jakby zamiast pow(x,3) napisał x*x*x i dalej zamiast pow(a,3) a*a*a i zamiast pow(b,3) b*b*b to bedzie to samo i same mnozenia :P
    Jak myślisz Gorgonek??
    _________________
    "Widzę siebie w obrazach przeszłości
    Migawki życia przelatują przed moją twarzą
    Całe moje życie w jednej sekundzie
    Zapada cisza
    Nie czuję nic"
    d41d8cd98f00b204e9800998ecf8427e
  • szpilka  
    route_66
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0


  • pytanie,jak mamy mu to oddac?tzn. gdzie zapisany,w jakim programie?
    pytanie drugie, mozna to oddac do przyszłego tygodnia,prawda?
    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • Kod:
    #include <stdio.h>

    int main(void)
    {     
            int y=1,l=29,z=2, licznik=0;
           
            do{
                if (l%2==1) y=y*z;
                l >> 1; // nie ma już dzielenia ;)
                if (l!=0) z=z*z;
            }while(l!=0);

            printf("\nWynik potegowania: %d",y);
            return 0;
    }


    To jest moja metoda, niestety wymaga az 8 krokow [to co proponujesz dziala tylko dla wersji x^27 i wymaga wiecej operacji] do wykonania x^27. Czekam az Wolv wroci i zapoda swoj algorytm :) W zasadzie podobne dzialanie, tyle ze rekurencyjnie :)
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:

    Ostatnio zmieniony przez Gorgonek 2007-03-04, 17:47, w całości zmieniany 1 raz 

    d41d8cd98f00b204e9800998ecf8427e
  • ramios  
    Wydział: W-2 BLiW
    Rok studiów: 2

    zobacz profil
    szybka wiadomość
  • 0


  • Grupa poniedziałkowa ma te cztery zadanka oddać jutro, a piątkowa bodajże w piątek. Pan Pawlik mówił, że najlepiej wysłać sobie kod na maila, a na laborce odebrać i bedzie spox.

    BTW poprawiłem programik wyżej, teraz jest bez potęgowania, myślę że może być.
    Pozdrawiam
    _________________
    "Widzę siebie w obrazach przeszłości
    Migawki życia przelatują przed moją twarzą
    Całe moje życie w jednej sekundzie
    Zapada cisza
    Nie czuję nic"
    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • szpilka napisał/a:
    pytanie,jak mamy mu to oddac?tzn. gdzie zapisany,w jakim programie?
    pytanie drugie, mozna to oddac do przyszłego tygodnia,prawda?


    Mamy to sobie na maila wyslac i odebrac w pracowni :)

    Najlepiej napisany pod linuxem ;)

    Oddajemy w tym tygodniu te 4 zadnka. Te ktore teraz dostaniemy oddajemy za tydzien.
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:
    d41d8cd98f00b204e9800998ecf8427e
  • ramios  
    Wydział: W-2 BLiW
    Rok studiów: 2

    zobacz profil
    szybka wiadomość
  • 0


  • No tak, ale zmienną jest tylko x czyli program może działać tylko dla 27. potęgi. BTW na ćwiczeniach z logiki algorytmicznej Dr Kobylański powiedział, że to zadanie można zrobić właśnie sześcioma mnożeniami, także myślę, że będzie ok.
    _________________
    "Widzę siebie w obrazach przeszłości
    Migawki życia przelatują przed moją twarzą
    Całe moje życie w jednej sekundzie
    Zapada cisza
    Nie czuję nic"
    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • Program 02 posiada funkcje zamieniajaca liczbe z podanego systemu k [2,16] na system dziesietny.

    Kod:

    #include <stdio.h>
    #include <string.h>

    int znal( char znak )
    {
        if( znak >= '0' && znak <= '9' )
            return znak - '0';

        if ( znak >= 'a' && znak <= 'f' )
            return znak - 'a' + 10;   

        if( znak >= 'A' && znak <= 'F' )
            return znak - 'A' + 10;

        return -1;
    }


    int zamiana(int k, char * do_zamiany)
    {
        int dl_str, wynik=0, i=1;

        for (dl_str=(strlen(do_zamiany)-1); dl_str>=0; dl_str--)
        {
            wynik = wynik + znal(do_zamiany[dl_str]) * i;
            i = i * k;
        }
       
        return wynik;

    }

    int main(void)
    {
        int k;
        char liczba[24];
       
        do{
            printf("Podaj podstawe systemu zamiany [2,16]: ");
            scanf("%d", &k);
            printf("\n");
        } while ( k < 2 || k > 16);

        printf("Podaj liczbe do zamiany: ");
        scanf("%s", liczba);
        printf("\n\nW systemie dziesietnym wynosi ona %d", zamiana(k, liczba));
        printf("\n\n");

        return 0;
    }


    Komentarze prosze sobie dorobic :) Nie mialem na to czasu :P Akurat tutaj z Wolv'em zrobiliśmy prawie identycznie to zadanie. On pamiętał że można wpisać małymi literami a ja niestety nie ;) Ale poprawione i działa :)
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:
    d41d8cd98f00b204e9800998ecf8427e
  • fonek  
    Wydział: W-2 BLiW
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0


  • gorgon ale w programie w mnożeniem używasz min. dzielenia więc program już jest źle bo tylko samo mnożenie. A ramios mam tak samo jak ty z tymi samymi danymi tylko ze inaczej w printfie napisane. Gorgon my mamu dac tylko plik z rozszerzeniem c czy jeszcze ten drugi bez rozszerzenia. Co do twojego 1 zadania co w tym zadaniu robi c bo kurde szukam i nie bardzo moge sie domyslec.

    Ostatnio zmieniony przez fonek 2007-03-04, 17:46, w całości zmieniany 1 raz 

    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • ramios napisał/a:
    No tak, ale zmienną jest tylko x czyli program może działać tylko dla 27. potęgi. BTW na ćwiczeniach z logiki algorytmicznej Dr Kobylański powiedział, że to zadanie można zrobić właśnie sześcioma mnożeniami, także myślę, że będzie ok.


    Niby tak :) Ale jest jeszcze algorytm rekurencyjny ktory wykonuje to w 4 mnożeniach ;)
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:
    d41d8cd98f00b204e9800998ecf8427e
  • fonek  
    Wydział: W-2 BLiW
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0


  • jak mowisz ze mozna na 4 mnozenia to tto jest na 10 pkt a jak ktos ma na 6 to dostanie tylko 8 :D
    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • fonek napisał/a:
    Co do twojego 1 zadania co w tym zadaniu robi c bo kurde szukam i nie bardzo moge sie domyslec.


    Gdzie c ? Jakie c?

    fonek, poprawiłem już [zapisałem to na kartce skrótem myślowym stąd było / ;) Poprawiłem na operację bez dzielenia :) Ale to co zrobiłem i tak jest źle ;)
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:
    d41d8cd98f00b204e9800998ecf8427e
  • szpilka  
    route_66
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0


  • a jak mi sie jeszcze linux sciaga to jak myslisz, na co mam wrzucic ,zeby był zadowolony?:)
    d41d8cd98f00b204e9800998ecf8427e
  • ADMGorgonek  
    Moderator
    Szkodnik Psotnik
    Wydział: W-3 Chemiczny

    zobacz profil
    szybka wiadomość
  • 0


  • szpilka, w takim wypadku spróbuj w WordPAD albo inny programie :)

    [ Dodano: 2007-03-04, 17:57 ]
    Program 03, zaproponowac strukture danych do przechowywania liczb zespolonych (x, iy) :)
    Kod:


    #include <stdio.h>


    typedef struct
    {
        float Re;
        float Im;
    } l_zesp;


    void dodaj(l_zesp * zesp1, l_zesp * zesp2, l_zesp * wynik)
    {
        wynik->Re = zesp1->Re + zesp2->Re;
        wynik->Im = zesp1->Im + zesp2->Im;   
    }

    void odejmij(l_zesp * zesp1, l_zesp * zesp2, l_zesp * wynik)
    {
        wynik->Re = zesp1->Re - zesp2->Re;
        wynik->Im = zesp1->Im - zesp2->Im;   
    }


    void wymnoz(l_zesp * zesp1, l_zesp * zesp2, l_zesp * wynik)
    {
        wynik->Re = zesp1->Re * zesp2->Re - zesp1->Im * zesp2->Im;
        wynik->Im = zesp1->Im * zesp2->Re + zesp2->Im * zesp1->Re;   
    }


    int main( void )
    {   
        l_zesp liczba1,liczba2, dod,odej,pomn;
       
        printf("Podaj czesc Rzeczywista pierwszej liczby: ");
        scanf("%f", &liczba1.Re);
        printf("Podaj czesc Urojona pierwszej liczby: ");
        scanf("%f", &liczba1.Im);
        printf("Podaj czesc Rzeczywista drugiej liczby: ");
        scanf("%f", &liczba2.Re);
        printf("Podaj czesc Urojona drugiej liczby: ");
        scanf("%f", &liczba2.Im);       

        dodaj(&liczba1, &liczba2, &dod);

        odejmij(&liczba1, &liczba2, &odej);

        wymnoz(&liczba1, &liczba2, &pomn);

        printf("Podano liczby [%f,%fi] oraz [%f,%fi].", liczba1.Re ,liczba1.Im, liczba2.Re, liczba2.Im);
        printf("\nNa powyzszych liczbach dokonano ponizszych operacji:\n");
        printf("Dodawania = [%f,%fi];\n", dod.Re, dod.Im);
        printf("Odejmowania = [%f,%fi];\n", odej.Re, odej.Im);
        printf("Mnozenia = [%f,%fi].\n", pomn.Re, pomn.Im);

        return 0;
    }


    Z tego co widziałem podobnie do Wolv'iego zrobiłem :) Dodałem tylko obsługę drobną żeby można było program sprawdzić ;) Jak komuś nie pasuje niech usunie :)

    [ Dodano: 2007-03-04, 18:26 ]
    Program 04, czyli policzenie x^27 w najmiejszej ilosci mnozen ;) Tutaj robimy to przez rekurencje [niestety, nie wpadlem na to sam :( na szczescie sa ludzie sprytniejsi ode mnie :D ].

    Kod:
    #include <stdio.h>


    int potega( int x, int n )
    {
        if( n == 1 )
        {
            return x;
        }
        /* else if( n == 2 )
        {
            return x * x;
        } */  // [i]okazuje sie zupelnie niepotrzebna, pan Pawlik przez nia sprawil nam problemy :/[/i]
        else
        {
            if( ( n % 2 ) == 0 )
            {
                return potega( x * x, n >> 1 );
                        }
            else
            {
                return potega( x * x, n >> 1 ) * x;
            }
        }
    }

    int main( void )
    {
        int x;

        printf("Podaj liczbe x: ");
        scanf("%d", &x);

        printf("\n%d^27 = %d\n", x, potega( x, 27 ));
       
        return 0;
    }


    Z tego co pamietam to juz dla x = 4 przekraczamy zakres int :)
    _________________
    http://pustamiska.pl/index.php - bo kliknięcie nic nie kosztuje!

    Jeśli wydaje Ci się że zaliczyłeś, to masz rację... wydaje Ci się :mrgreen:

    Ostatnio zmieniony przez Gorgonek 2007-03-06, 07:04, w całości zmieniany 2 razy 

    d41d8cd98f00b204e9800998ecf8427e

Powered by phpBB modified by Przemo © 2003 phpBB Group. Then, after many years modified again, this time by Piotrek © 2014
Strona wygenerowana w 38ms. Zapytań do SQL: 14