C++ Bc. 16 cpp: Porovnání verzí
Bez shrnutí editace |
mBez shrnutí editace |
||
| (Není zobrazeno 5 mezilehlých verzí od 2 dalších uživatelů.) | |||
| Řádek 1: | Řádek 1: | ||
[ [[C | #include <iostream> | ||
#include <iomanip> | |||
#include <vector> | |||
typedef std::vector<double> Polynom; | |||
void soucin(Polynom& P, const Polynom& Q, const Polynom& R); | |||
int main() | |||
{ | |||
Polynom A, B, C; | |||
A.push_back( 3); // A[0] | |||
A.push_back( 0); // A[1] | |||
A.push_back(-1); // A[2] | |||
B.push_back(-3); // B[0] | |||
B.push_back( 2); // B[1] | |||
B.push_back( 4); // B[2] | |||
B.push_back(-2); // B[3] | |||
soucin(C, A, B); | |||
// deklarace pomocne funkce pro tisk polynomu | |||
void tisk(std::ostream&, const char*, const Polynom&); | |||
tisk(std::cout, " A ", A); | |||
tisk(std::cout, " B ", B); | |||
tisk(std::cout, "A*B", C); | |||
} | |||
void soucin(Polynom& P, const Polynom& Q, const Polynom& R) | |||
{ | |||
// Zmenime pocet prvku vystupniho polynomy. Hodnoty jednotlich prvku | |||
// jsou pri teto operaci inicializovany na nulu (tj. na implicitni | |||
// hodnotu daneho typu). | |||
P.resize(Q.size()+R.size()-1); | |||
for (int i=0; i<Q.size(); i++) | |||
for (int j=0; j<R.size(); j++) | |||
{ | |||
P[i+j] += Q[i]*R[j]; | |||
} | |||
} | |||
void tisk(std::ostream& out, const char* t, const Polynom& p) | |||
{ | |||
out << t << " [ "; | |||
for (Polynom::const_reverse_iterator i=p.rbegin(), e=p.rend(); i!=e; ++i) | |||
{ | |||
out << std::setw(2) << *i << " "; | |||
} | |||
out << "]\n"; | |||
} | |||
A [ -1 0 3 ] | |||
B [ -2 4 2 -3 ] | |||
A*B [ 2 -4 -8 15 6 -9 ] | |||
[ [[C++ Bc. 16 | Zpět]] ] | |||
[[Kategorie:Programování]] | |||
[[Kategorie:C++]] | |||
Aktuální verze z 1. 2. 2007, 12:55
#include <iostream>
#include <iomanip>
#include <vector>
typedef std::vector<double> Polynom;
void soucin(Polynom& P, const Polynom& Q, const Polynom& R);
int main()
{
Polynom A, B, C;
A.push_back( 3); // A[0]
A.push_back( 0); // A[1]
A.push_back(-1); // A[2]
B.push_back(-3); // B[0]
B.push_back( 2); // B[1]
B.push_back( 4); // B[2]
B.push_back(-2); // B[3]
soucin(C, A, B);
// deklarace pomocne funkce pro tisk polynomu
void tisk(std::ostream&, const char*, const Polynom&);
tisk(std::cout, " A ", A);
tisk(std::cout, " B ", B);
tisk(std::cout, "A*B", C);
}
void soucin(Polynom& P, const Polynom& Q, const Polynom& R)
{
// Zmenime pocet prvku vystupniho polynomy. Hodnoty jednotlich prvku
// jsou pri teto operaci inicializovany na nulu (tj. na implicitni
// hodnotu daneho typu).
P.resize(Q.size()+R.size()-1);
for (int i=0; i<Q.size(); i++)
for (int j=0; j<R.size(); j++)
{
P[i+j] += Q[i]*R[j];
}
}
void tisk(std::ostream& out, const char* t, const Polynom& p)
{
out << t << " [ ";
for (Polynom::const_reverse_iterator i=p.rbegin(), e=p.rend(); i!=e; ++i)
{
out << std::setw(2) << *i << " ";
}
out << "]\n";
}
A [ -1 0 3 ] B [ -2 4 2 -3 ] A*B [ 2 -4 -8 15 6 -9 ]
[ Zpět ]