logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak napisać program w C do dodawania wielomianów do 10 stopnia?

vacek2 04 Cze 2008 08:03 5243 7
REKLAMA
  • #1 5211706
    vacek2
    Poziom 10  
    Posty: 50
    Mam wykonać program w języku C dodający dwa wielomiany max: 10 stopnia.
    I nie za bardzo wiem jak go wykonać tzn. myślę o tym żeby do wczytania użyć dwóch tablic ale to będzie dobre jeśli wczytam 10 zmiennych np ( przy: x do 10 "zmienna1" .... x do 9 "zmienna2" i tak do x do 1 ale jak np wielomian ma być 5 stopnia?? Wtedy i tak będzie żądał wczytania z klawiatury do tablicy tych 10 zmiennych .

    Proszę o pomoc. Kawałek kodu lub chociaż propozycje algorytmu.
  • REKLAMA
  • #2 5211739
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    Pomysł masz dobry. Pytanie - jak myślisz rozwiązać samo wprowadzanie? Możesz wymusić wprowadzanie dla 10 stopnia (i wprowadzać wyrazy w taki sposób np dla 5-go stopnia: y=0x^10+0x^9...+1x^5+...3x^0 - pamiętaj, że wielomian kończy się na x^0 a nie x^1 !). Możesz też wcześniej zapytać użytkownika, którego stopnia ma być wielomian i w tablicy zacząć zapisywanie współczynników od pozycji 10-stopień (lub od stopień i zapisywać do 10 - to zależy, jak będziesz interpretował talbicę - czy indeks 0 oznacza wartosć wpsółczynnik a przy potędze 10 czy przy potędze 0 ;) )

    Najtrudniejszy wariant, to wprowadzenie pełnego wzoru przez użytkownika - ale chyba tym nie ma się co przejmować i rozpatrywać takich przypadków.
  • REKLAMA
  • #3 5211800
    vacek2
    Poziom 10  
    Posty: 50
    Mam zamiar "zapytać" użytkownika jaki ma być stopień wielomianu a potem pętlą wczytać do tablicy "zmienna"x^0 + "zmienna2"x^1.... zmienna..^x(wielkość podana przez użytkownika). A potem przy dodawaniu czy jeśli będą to róznego stopnia wielomiany pierwszy element tablicy zostanie dodany do pierwszego elementu drugiej tablicy to wyjdzie na to, że np 2x^10 z pierwszej zsumuje się z 4x^7 z drugiej tablicy bo tam stopień 7 jest zarazem pierwszym elementem ... ;/
    Troche nagmatfałem... ale nie wiem czy dobrze myśle
  • REKLAMA
  • #4 5211816
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    Jeśli użytkownik zacznie wprowadzanie od zerowej potęgi, i w tablicy zapiszesz od zerowego indeksu, to jedyne, o czym musisz pamiętać, to wyzerować w tablicach niewprowadzone pozycje i możesz smiało dodawać odpowiednimi indeksami (wynik[i]:=wielomian1[i]+wielomian2[i])
  • #5 5211826
    vacek2
    Poziom 10  
    Posty: 50
    No tak ale jeśli zastosuje pętle to np jeśli zatrzyma się na stopniu 5 wtedy pozostałe elementy tablicy to zera i jeśli będe chciał je dodać wszystko powinno być dobrze tak ?
  • #6 5211883
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    tak. Dla pewności zawsze możesz zrobić drugą pętlę od punktu zakończenia+1 do końca tablicy i wypełnić ją zerami.
  • #7 5218094
    vacek2
    Poziom 10  
    Posty: 50
    zrobilem dodawanie ale nie wiem jak zrobic mnozenie ? ;/
  • REKLAMA
  • #8 5218131
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    mnożenie się wykonuje analogicznie, jak mnożenie liczb pod kreską ;) Z ty, uproszczeniem, że nie istnieje nic takiego, jak przenoszenie.

    http://pl.wikipedia.org/wiki/Wielomian#Dodawanie_i_mno.C5.BCenie

    Czyli zakładając początkowo wyzerowany wynik:
    wynik[i+j]=wynik[i+j]+wielomian[i]*wielomian[j], gdzie dokonujemy iloczynu kartezjańskiego indeksów i i j czyli po prsotu pętla w pętli.

    grunt to właściwie zaindeksować w zależności od przyjętej zasady interpretacji tablicy. No i nalezy pamietać, że rozmiar stopień wielomianu wynikowego w najgorszym przyapdku jest równy sumie stopni wielomianów mnożonych.

Podsumowanie tematu

✨ Dyskusja dotyczy implementacji programu w języku C do dodawania wielomianów o maksymalnym stopniu 10. Proponowane rozwiązanie polega na wykorzystaniu dwóch tablic do przechowywania współczynników wielomianów, gdzie indeksy odpowiadają potęgom zmiennej x, zaczynając od x^0. Użytkownik powinien najpierw podać stopień wielomianu, a następnie wprowadzać współczynniki dla kolejnych potęg, przy czym niewprowadzone współczynniki w tablicy należy wypełnić zerami. Dodawanie polega na sumowaniu odpowiednich elementów tablic. W przypadku mnożenia wielomianów stosuje się podwójną pętlę, mnożąc współczynniki i sumując je zgodnie z zasadą mnożenia potęg, pamiętając, że stopień wyniku może sięgać sumy stopni mnożonych wielomianów. Kluczowe jest prawidłowe indeksowanie tablic i inicjalizacja zerami niewykorzystanych elementów.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA