• bEErt  
    bEErt
    Wydział: W-4 EKA
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0
  • cytuj |

  • Wrzucam rozwiązanie zestaw 1:

    1. sumuje liczby z tablicy pod warunkiem, ze liczba następna jest większa. Dla liczby ostatniej następną jest pierwsza w tablicy: 3 4 2 2 1 2 da wynik 6

    2. szuka maksimum w tabeli 2 wymiarowej - tylko w parzystych wierszach/kolumnach. kolumna/wiersz 0 są traktowane jako parzyste.

    3. szuka w łańcuch znaków liter 'Z' i oraz cyfr 0-9, po których występuje spacja.

    Jak ktoś dla odmiany ma jakieś faje materiały z analizy, algebry i mierników to byłbym wdzięczny :)

    Wrzućcie resztę grup - na pewno się komuś przyda, a jakby co to mogę pomóc rozwiązać :)

    Kod:
    #include <iostream.h>
    #include <conio.h>

    #define KOL 3

    // Norbert Kamańczyk 163504

    long int suma(int tab[], int rozmiar_tablicy);
    int max(int tab[][KOL], int liczba_wierszy);
    int policz_znaki(char *s, int *liczba_cyfr);

    //------------------------------------------------------------------------------

    int main(){
       
        //SPRAWDZANIE FUNKCJI SUMA
        int tablica[8] = {3, 6, 1, 1, 1, 10, 11, 1};
        printf("Suma tablicy = %d\n", suma(tablica, 8));
       
        //SPRAWDZANI FUNKCJI MAX
        int tablicaa[4][KOL] = {{17,  2,  3},
                                {10, 100, 30},
                                {12, 14, 16},
                                {3,  2,  1}};
       
        printf("Maksimum = %d\n", max(tablicaa, 4));
       
        //SPRAWDZANIE FUNKCJII POLICZ_ZNAKI
        char string[] = "2a9Z sgdgZZdasA00 daZ Z 123 9p2";
        int cyfr;
       
        printf("Dla stringu \"%s\": Z=%d, cyfry=%d", string, policz_znaki(string, &cyfr), cyfr); 
       
        getch();
       
       
        return 0;
    }

    //---[1]------------------------------------------------------------------------

    long int suma(int tab[], int rozmiar_tablicy){
         
         int wynik = 0;
         
         for(int i=0; i<rozmiar_tablicy-1; i++){
                 
              if(tab[i]<tab[i+1])
                  wynik += tab[i];
         }
         
         if(tab[0]>tab[rozmiar_tablicy-1])
              wynik += tab[rozmiar_tablicy-1];
         
         return wynik;
    }

    //---[2]------------------------------------------------------------------------

    int max(int tab[][KOL], int liczba_wierszy){
        int maksimum=0;
       
        for(int i=0; i<liczba_wierszy; i+=2)
          for(int j=0; j<KOL; j+=2)
            if(tab[i][j]>maksimum)
              maksimum = tab[i][j];
             
        return maksimum;
    }

    //---[3]------------------------------------------------------------------------

    int policz_znaki(char *s, int *liczba_cyfr){
        *liczba_cyfr = 0;
        int liczba_liter = 0;
        int i=0;
       
        while(s[i]){
                   
            //litery Z
            if(s[i]=='Z' && s[i+1]==' ')
              liczba_liter++;
             
            //cyfry 
            if(s[i]>='0' && s[i]<='9' && s[i+1]==' ')
              (*liczba_cyfr)++;
               
            i++;
        }       
       
        return liczba_liter;
    }
    d41d8cd98f00b204e9800998ecf8427e
  • 0
  • cytuj |

  • mam kolejne zadania:


    1. zliczy sumę szeregu + - na zmianę.
    2. ze stringu zliczyć pozycje gdzie występują dwa znaki lub dwie cyfry obok siebie.
    3. tablica dwuwymiarowa : wszystkie ujemne elementy wyzerować.
    4. tab. dwuwymiarowa z nieparzystych wierszy z dodatnich elementów obliczyć średnią.
    5. w dwuwymiarowej tablicy sprawdzić i wypisać takie same znaki
    d41d8cd98f00b204e9800998ecf8427e
  • bEErt  
    bEErt
    Wydział: W-4 EKA
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0
  • cytuj |

  • Jutro postaram się wrzucić rozwiązania.

    Kilka "ale" :)
    ad 1. Co dokładnie chodzi? mam 3 2 3 4 to ma zliczyć 3 - 2 + 3 - 4 ?
    ad 2. Można troszkę jaśniej? :)
    ad 5. Jak mam rozumieć "te same znaki"? i czy na pewno wypisać - w kolokwium była mowa o funkcja, które nic nie zwracają!
    d41d8cd98f00b204e9800998ecf8427e
  • bEErt  
    bEErt
    Wydział: W-4 EKA
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0
  • cytuj |

  • z tego co pamietam bedzie jakas poprawka

    [ Dodano: 2009-01-12, 21:55 ]
    Wrzucam na pastebin.com - ładnie pokoloruje, czytelniejsze jest.

    moje zadania z koła -> TUTAJ
    zadania z forum -> zaraz :razz:

    [ Dodano: 2009-01-12, 23:16 ]
    zadania 3 i 4: http://pastebin.com/f71178a17

    wersja bez kolorowania:
    Kod:
    #include <stdio.h>
    #include <conio.h>

    #define KOLUMNY 5
    #define WIERSZE 3

    /**
     * ZADANIA Z FORUM. pisane na szybko :)
     * przydadzą się do nauki na poprawkę.
     *
     * Jakby ktoś nie mógłby z wdzięczności wytrzymać to może mi jakieś materiały
     * z mierników podesłać :)
     **/

    //PROTOTYPY
    void zeruj_ujemne(int tab[][KOLUMNY], int liczba_wierszy);
    float srednia(int tab[][KOLUMNY], int liczba_wierszy);

    int main(){
       
        //SPRAWDZANIE FUNKCJI ZERUJ_UJEMNE [3]
        int tablica[WIERSZE][KOLUMNY] = { { 1, 2, 3, -1, 0 },
                                          {-5, 3, 1, -9, 10},
                                          {12,-8, 3,  8, 19} };
       
        printf("Tablica przed zerowaniem:\n");
        for(int i=0; i<WIERSZE; i++){
             for(int j=0; j<KOLUMNY; j++)
               printf("%2d ", tablica[i][j]);
             
             printf("\n");
        }
       
        printf("Tablica po zerowaniu:\n");
        zeruj_ujemne(tablica, WIERSZE);
        for(int i=0; i<WIERSZE; i++){
             for(int j=0; j<KOLUMNY; j++)
               printf("%2d ", tablica[i][j]);
             
             printf("\n");
        }
        //Uwaga!!! stała WIERSZE jest tylko po to, żeby nie trzeba było wpisywać
        //wszędzie nowej wartości jak się coś zmieni.
       
       
        //SPRAWDZANIE FUNKCJI SREDNIA [4]
        printf("\n\n\nTablica (ta sama co wyżej):\n");
        for(int i=0; i<WIERSZE; i++){
             for(int j=0; j<KOLUMNY; j++)
               printf("%2d ", tablica[i][j]);
             
             printf("\n");
        }
        printf("\nSrednia z zadania: %f", srednia(tablica, WIERSZE));
       
        getch();
        return 0;
    }

    //----[3]-----------------------------------------------------------------------
    // zgaduję, że tak wyglądało to na kolokwium (nagłówek funkcji)

    void zeruj_ujemne(int tab[][KOLUMNY], int liczba_wierszy) {
         
         for(int i=0; i<liczba_wierszy; i++)
           for(int j=0; j<KOLUMNY; j++)
             if(tab[i][j]<0) tab[i][j] = 0;

    }

    //----[4]-----------------------------------------------------------------------

    float srednia(int tab[][KOLUMNY], int liczba_wierszy) {
         int suma=0;
         int licznik=0;
       
         for(int i=0; i<liczba_wierszy; i+=2)
           for(int j=0; j<KOLUMNY; j+=2) {
               suma += tab[i][j];
               licznik++;
           }
             
         return 1.0*suma/licznik;
    }
    d41d8cd98f00b204e9800998ecf8427e
  • 0
  • cytuj |

  • dostałam te zadania w takiej formie od kolegi, myślałam, że inni też tak pomyślą jak ja :D
    1. zliczy sumę szeregu + - na zmianę. <--- czyli ciąg wygląda np. tak:
    1/1!-1/2!+1/3!-1/4!+...+lub-1/n! :)

    2. ze stringu zliczyć pozycje gdzie występują dwa znaki lub dwie cyfry obok siebie. <--- czyli myślę, że w stringu np:
    a2bs652j8s7ak29 te pozycje to: a2 bs 652 j8s7 ak 29,
    czyli, gdy dwie cyfry obok siebie są albo dwie literki. I trzeba te pozycje zliczyć :D

    5. w dwuwymiarowej tablicy sprawdzić i wypisać takie same znaki <--- w takim razie sama nie wiem co to miało być za zadanie :)

    Bardzo dziękuję za pomoc. Moja sytuacja z programowania nie jest taka zła, ale zawsze lepiej jest się upewnić. To świetnie, że są takie osoby jak Ty, które chcą pomóc i chetnie to robią :)
    d41d8cd98f00b204e9800998ecf8427e
  • 0
  • cytuj |

  • Szkoda ze nie mozna raportowac.... i po co taka odpowiedz udzielasz? dobrze ci sie zrobilo? doktor mowil ze mozna korzystac z pomocy naukowych, to mnie tylko zainteresowalo czy z neta tez pozwoli korzystac.
    d41d8cd98f00b204e9800998ecf8427e
  • 0
  • cytuj |

  • ale chyba powiedział, ze ze swoich notatek, ze z książek to raczej nie, więc z internetu pewnie też nie :P
    d41d8cd98f00b204e9800998ecf8427e
  • bEErt  
    bEErt
    Wydział: W-4 EKA
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0
  • cytuj |

  • Jak teraz nic nie będzie to wolałbym w sesji nie ryzykować :wink:

    u mgr Sterny moza było korzystać, przynajmniej nic nie mówił jak korzystałem :) Polecam http://www.cplusplus.com/. Po angielsku wprawdzie, ale wszystko jest jasno opisane.
    d41d8cd98f00b204e9800998ecf8427e
  • bEErt  
    bEErt
    Wydział: W-4 EKA
    Rok studiów: 1

    zobacz profil
    szybka wiadomość
  • 0
  • cytuj |

  • egzaminu :P

    1. pewnie będzie trudniejszy
    2. pewnie będzie na papierze


    PS Czy jest koło z Technologii Informacyjnej z wykładu?
    d41d8cd98f00b204e9800998ecf8427e

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