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; } } } }