Beispiel #1
0
int main(void) {
   //deklaracja zmiennych, tablice sa globalne
   char pesel[12], name[30];
   int date[3], error, sex;

   error = 0;
   sex = 0;

   // wczytanie danych
   printf("Podaj swoje imie: \n");
   scanf("%s", name);
   printf("Czesc %s, wpisz swoj PESEL. \n", name);
   scanf("%s", pesel);

   error = make_pesel(pesel); //kazda funkcja zwraca albo 0 albo 1
   if(error == 0) {
      error = check(pesel);
      if(error == 0) {
         error = make_and_check_date(pesel, date);
         if(error == 0) {
            error = check_sex(pesel, name, &sex);
            if(error == 0)
               print_results(date, pesel, name, &sex);
            else
               printf("Twoja plec nie zgadza sie z imieniem!");
         } else
            printf("Bledna data urodzenia");
      } else
         printf("Blad liczby kontrolnej!");
   } else
      printf("Bledny numer PESEL!");

   return 0; //no
}
void gcta::std_XMat(vector< vector<float> > &X, vector<double> &sd_SNP, bool grm_xchr_flag, bool divid_by_std)
{
	if(_mu.empty()) calcu_mu();

    int i=0, j=0;
	sd_SNP.clear();
	sd_SNP.resize(_include.size()); // SD of each SNP, sqrt(2pq)
	if(_dosage_flag){
        for(j=0; j<_include.size(); j++){
            for(i=0; i<_keep.size(); i++) sd_SNP[j]+=(X[i][j]-_mu[_include[j]])*(X[i][j]-_mu[_include[j]]);
            sd_SNP[j]/=(_keep.size()-1.0);
        }
	}
	else{
        for(j=0; j<_include.size(); j++) sd_SNP[j]=_mu[_include[j]]*(1.0-0.5*_mu[_include[j]]);
	}
    for(j=0; j<_include.size(); j++){
        if(fabs(sd_SNP[j])<1.0e-50) sd_SNP[j]=0.0;
        else sd_SNP[j]=sqrt(1.0/sd_SNP[j]);
    }
    for(i=0; i<_keep.size(); i++){
         for(j=0; j<_include.size(); j++){
            if(X[i][j]<1e5){
                X[i][j]-=_mu[_include[j]];
                if(divid_by_std) X[i][j]*=sd_SNP[j];
            }
         }
	}

	if(!grm_xchr_flag) return;
	// for the X-chromosome
	check_sex();
	double f_buf=sqrt(0.5);
    for(i=0; i<_keep.size(); i++){
        if(_sex[_keep[i]]==1){
            for(j=0; j<_include.size(); j++){
                if(X[i][j]<1e5) X[i][j]*=f_buf;
            }
        }
	}
}