Guest User

Untitled

a guest
Dec 11th, 2013
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.72 KB | None | 0 0
  1. int i,max_p, min_np, N; // deklarujemy zmienne
  2. double srednia =0; // tez deklaracja, ale z przypisaniem, double = liczba zmiennoprzecinkowa, np. 104.3 itd...
  3. cout << "podaj N" << endl; // wyswietlamy "podaj N"
  4. cin >> N; // wczytujemy N z klawiatury
  5. int *tab = new int[N]; // deklarujemy tablice, zawierajaca liczby calkowite, moze ona przechowac N - liczb
  6. for(int i=0;i<N;i++){ // powtarzamy to wszystko od i=0 do i = N-1( wlacznie, dlatego i<N, co jest rownowazne z:
  7. //i<=(N-1)
  8.         cin >> tab[i]; // wczytujemy wartosc od tablicy o indeksie i, indeksowanie w C++ jest od zera :)
  9.         if(i==0){ // jak jest to pierwsze wczytywanie to zapisujemy to do zmiennej
  10.                 max_p = min_np = tab[i];
  11.         } else { // jezeli nie jest to pierwsze, to sprawdzamy:
  12.                 if(tab[i]%2==0){ // jak liczba jest parzysta, czyli nie zwraca reszty z dzielenia przez 2:
  13.                         if(tab[i] > max_p) max_p = tab[i]; // jezeli ta liczba jest wieksza od max_p, to przypisujemy //do zmiennej
  14.                 } else { // jak zwraca reszte, czyli: if(tab[i]%2 == 1)..
  15.                         if(tab[i] < min_np) min_np = tab[i]; // jezeli ta tab[i] < min_np to przypisujemy do
  16. //min_np wartosc tab[i]
  17.                 }
  18.         }
  19.         srednia += (double)tab[i]; // na koncu kazdej petli dodajmy wszystko do sredniej, jest to rownowazny zapis z:
  20. // srednia = srednia + tab[i]; (double) - to co w nawiasie, nie przejmuj sie tym, mozesz to pominac, tak wiec mozna to //zapisac jako:
  21. srednia = srednia + tab[i];
  22. }
  23.  
  24. srednia /=N; // jak juz mamy wszystkie liczby dodane, trzeba to podzielic przez N, czyli tyle ile liczb dodalismy
  25.  
  26. for(int i=0;i<N;i++){
  27. if(tab[i]%2==0) cout << tab[i] << " "; //parzyste
  28. }
  29. cout << endl; // nowy wiersz
  30. for(int i=0;i<N;i++){
  31. if(tab[i]%2==1) cout << tab[i] << " "; // wydrukuje nieparzyste
  32. }
  33.  
  34. int Wn = tab[N]; // wielomian, dlaczego tab[N] - pozniej to wyjdzie :)
  35. int x; //
  36. cin >> x; // dla jakiego argumentu ma to policzyc - wczytanie z klawiatury
  37. for(int i=0;i<N;i++){
  38.         wn += tab[i]*pow((double)x,N-i); // za kazdym razem do wielomianu dodajemy..moze to zapisze:
  39.     wn = wn + tab[i]*pow(x,N-i); // pow(i,j) - funkcja pow zwraca wartosc: i^j
  40. }
  41. po wykonaniu tej petli bedziemy mieli takie cos, np. dla i = 4;
  42. wn = tab[N] + ...(na poczatku bylo wn = tab[N], patrz przed petla)
  43. wn = tab[0]*x^{4-0} + tab[1]*x^{4-1} + tab[2]*x^{4-2} + tab[3]*x^{4-3} + tab[4]
  44. tab[4] = tab[N], poniewaz N dla tego przykladu to 4, trzeba zadeklarowac na poczatku wn = tab[N], poniewaz
  45. iteracja sie konczy na i = N-1, latego tez nie policzy i = N, wiec na poczatku to zrobilismy, koncowy wynik tego wielomianu to:
  46.  
  47. wn = tab[0]x^4 + tab[1]x^3 + tab[2]x^2 + tab[3]x^1 + tab[4]
  48.  
  49. cout << "wn(x) = " << wn << endl;
Advertisement
Add Comment
Please, Sign In to add comment