Exemple #1
0
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();

}
Exemple #2
0
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;
}