C++ tablice

Goodwin
Użytkownik
Użytkownik
Posty: 28
Rejestracja: 28 kwie 2008, o 18:30
Płeć: Mężczyzna
Lokalizacja: Kielce
Podziękował: 17 razy

C++ tablice

Post autor: Goodwin »

Napisz program czytający do tablicy kolejne wartości kolejnych współczynników wielomianu stopnia n oraz wartość x i obliczający wartość tego wielomianu.
(W=AnXn+An-1Xn-1+An-2Xn-2+…+A0X0)
krzych07
Użytkownik
Użytkownik
Posty: 130
Rejestracja: 24 sty 2008, o 12:25
Płeć: Mężczyzna
Lokalizacja: net
Podziękował: 38 razy
Pomógł: 10 razy

C++ tablice

Post autor: krzych07 »

Ale w czym jest problem tworzysz sobie tablice cinem wczytujesz kolejne wspolcynniki do niej a pozniej wykonujesz rownanie pokaz jakis kod to ci dalej pomoge...
Goodwin
Użytkownik
Użytkownik
Posty: 28
Rejestracja: 28 kwie 2008, o 18:30
Płeć: Mężczyzna
Lokalizacja: Kielce
Podziękował: 17 razy

C++ tablice

Post autor: Goodwin »

Kod: Zaznacz cały

void main ()
{
float a[25], b[25], z;
int n,i;
clrscr();
printf("
Podaj stopień wielomianu: ");
scanf("%d" ,&n);
printf( "
Podawaj kolejno współczynniki wielomianu. 
");
for (i=0; i <=n; i++)
{ printf( "a[%d]=", i);
scanf("%f", &a[i]); }
printf( "
Podaj teraz wartość argumentu: ");
scanf("%f", &z);
b[0] = a[0];
for (i=1; i<=n; i++) b[i] = b[i-1]*z + a[i];
printf( "
Wartość wielomianu = %f 
" , b[n]);
getch();


[ Dodano: 3 Czerwca 2008, 18:00 ]
Tworzyc tablice umiem ale z tymi równaniami nie wiem o co chodzi a ten program u góry znalazłem
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

C++ tablice

Post autor: soku11 »

To ma byc cos takiego:

Kod: Zaznacz cały

float Policz( int ilosc, float wspolczyniki[], float x)
{
  float ret=0;
  for(int i=0;i<ilosc;++i)
    ret+=x*wspolczynniki[i];
  return ret;
}
Przynajmniej tak mi sie wydaje. POZDRO
Dumel
Użytkownik
Użytkownik
Posty: 2000
Rejestracja: 19 lut 2008, o 17:35
Płeć: Mężczyzna
Lokalizacja: Stare Pole/Kraków
Podziękował: 60 razy
Pomógł: 202 razy

C++ tablice

Post autor: Dumel »

chyba raczej tak:

Kod: Zaznacz cały

float Policz( int ilosc, float wspolczyniki[], float x)
{
  float ret=0;
  int _x=1;
  for(int i=0;i<ilosc;++i)
 {
    ret+=_x*wspolczynniki[i];
    _x*=x
 }
  return ret;
}
POZDRO
skipi
Użytkownik
Użytkownik
Posty: 19
Rejestracja: 25 paź 2005, o 18:39
Płeć: Mężczyzna
Lokalizacja: Piła
Pomógł: 3 razy

C++ tablice

Post autor: skipi »

Chyba jednak nie

Hmmm... a propos petli, i warunku jej konczacego. Zamiast zliczac ta tablice, mozna po prostu napisac

Kod: Zaznacz cały

for(int i=0; i < sizeof(tablica)/sizeof(*tablica); i++) {}

Po dzielimy wielkosc elementu tablicy przez cala tablicy i dostajemy ilosc jej elementow.

Pozdro.
Dumel
Użytkownik
Użytkownik
Posty: 2000
Rejestracja: 19 lut 2008, o 17:35
Płeć: Mężczyzna
Lokalizacja: Stare Pole/Kraków
Podziękował: 60 razy
Pomógł: 202 razy

C++ tablice

Post autor: Dumel »

dlaczego nie?
w kodzie soku11 przy zliczaniu wartości wielomianu, x występuje zawsze w tej samej potędze, a u mnie jest to poprawione
skipi
Użytkownik
Użytkownik
Posty: 19
Rejestracja: 25 paź 2005, o 18:39
Płeć: Mężczyzna
Lokalizacja: Piła
Pomógł: 3 razy

C++ tablice

Post autor: skipi »

Racja, zwracam honor.
ODPOWIEDZ