int main () { int tablica[10],n,x; for (int i=0;i<10;i++) { printf("Podaj liczbę %d:\n", i); scanf("%d", &n); tablica[i] = n; } printf("Maksymalna wartość: %d\n", max(tablica)); printf("Minimalna wartość: %d\n", min(tablica)); printf("\n"); raport(tablica); printf("\n"); do { printf("Sortowanie tablicy:\n1) Rosnąco.\n2) Malejąco.\n3) Koniec.\n"); scanf("%d",&x); if (x==3) {break;}; sort(tablica,10,x); for (int i=0;i<10;i++){ printf("%d\n", tablica[i]); } } while (1); getchar(); getchar(); }
void OdeNum<MatrixType>::diagBadEnlcosure(const VectorType &x) const { std::ofstream raport("raport.ecl",std::ios::app); raport << "-------------------------\n"; raport << "x=" << x << "\n"; raport << "step=" << step << "\n"; raport << "f(x)=" << ode.f(x) << "\n"; int dim = x.dimension(); ScalarType trial_step = ScalarType(-0.2,1.2) * step; int diag=0; VectorType max_r = trial_step*ode.f(x); VectorType Ye = x+max_r; raport << "Ye=" << Ye << "\n"; raport << "diam Ye=" ; for(int i=0; i<dim; i++) raport << rightBound(capd::abs(diam(Ye[i]))) << " " ; raport << "\n"; MatrixType dv = ode.df(x+max_r); capd::vectalg::MaxNorm<VectorType,MatrixType> maxN; ScalarType L = maxN(dv); if (!(step*L < 1)) { diag=1; raport << "hL > 1 \n"; } raport << "hL=" << step*L << "\n"; Real *diamvect = new Real[dim]; Real *dfabs = new Real[dim*dim]; if (!diag) { int i; for(i=0;i<dim; i++) diamvect[i] = rightBound(capd::abs(diam(Ye[i]))); for(i=0;i<dim; i++) for(int j=0; j<dim; j++) dfabs[i*dim+j]= rightBound(capd::abs(dv[i][j])); for(i=0;i<dim;i++) { Real t=0; for(int j=0;j<dim;j++) t += dfabs[i*dim+j]*diamvect[j]; t *= 2.5* rightBound(capd::abs(step)); if(t > diamvect[i]) { diag=2; raport << "5/2 h Dfi/Dxj diam(Ye_j)=t" << t << " > diam(Ye_i)= " << diamvect[i] << " ; i=" << i << "\n"; } }// i-loop } // if(!diag) if(!diag) { diag=3; raport << "unknown reason \n" ; } delete [] diamvect; delete [] dfabs; }