Пример #1
0
int main()
{
	setlocale(LC_ALL, "Rus");

	printf("Домашнее задание №3\n");
	printf("Выберите задачу: 1 - пузырьковая сортировка и пузырьковая сортировка с оптимизацией (сравнение)\n");
	printf("Выберите задачу: 2 - шейкерная сортировка с оптимизацией\n");
	printf("Выберите задачу: 3 - бинарный поиск\n");
	printf("Выберите задачу: 4 - измерение количества операций по п.1 и п.2 \n");
	int variant = 0;
	scanf("%i", &variant);
	switch (variant)
	{
	case 1:
		Sol1();
		break;
	case 2:
		Sol2();
		break;
	case 3:
		Sol3();
		break;
	case 4:
		Sol4();
		break;

	default:
		printf("Пока!");
		break;
	}


	return 0;
}
Пример #2
0
      // add to statistics, and to weighted average solution and covariance
      void add(const Vector<double>& Sol, const Matrix<double>& Cov)
         throw(Exception)
      {
         try {
            // add to the statistics
            for(int i=0; i<3; i++) S[i].Add(Sol(i));

            // NB do NOT include clock(s); this can ruin the position average
            Vector<double> Sol3(Sol);
            Sol3.resize(3);               // assumes position states come first
            Matrix<double> Cov3(Cov,0,0,3,3);

            // information matrix (position only)
            Matrix<double> Info(inverseSVD(Cov3));
            if(N == 0) {                  // first call: dimension and set to zero
               sumInfo = Matrix<double>(3,3,0.0);
               sumInfoState = Vector<double>(3,0.0);
            }

            // add to the total information
            sumInfo += Info;
            sumInfoState += Info * Sol3;
            ++N;
         }
         catch(Exception& e) { GPSTK_RETHROW(e); }
      }