Commit 6edf22d4 by trkall

2ra n2pi

parent 8e4e00d7
1 1 1 1 yks
2 2 2 2 kaks
3 3 3 3 kolm
4 4 4 4 neli
5 5 5 5 viis
6 6 6 6 kuus
7 7 7 7 seitse
8 8 8 8 kaheksa
9 9 9 9 yheksa
1 2 3 4 kymme
2 3 4 1 yksteist
3 4 1 2 kaksteist
4 1 2 3 kolmteist
1 1 2 2 neliteist
1 1 3 3 viisteist
1 1 4 4 kuusteist
2 2 1 1 siebzehn
2 2 3 3 achtzehn
2 2 4 4 neunzehn
3 3 1 1 zwanzig
1 1 1 1 yks
2 2 2 2 kaks
3 3 3 3 kolm
4 4 4 4 neli
5 5 5 5 viis
6 6 6 6 kuus
7 7 7 7 seitse
8 8 8 8 kaheksa
9 9 9 9 yheksa
1 2 3 4 kymme
2 3 4 1 yksteist
3 4 1 2 kaksteist
4 1 2 3 kolmteist
1 1 2 2 neliteist
1 1 3 3 viisteist
1 1 4 4 kuusteist
2 2 1 1 siebzehn
2 2 3 3 achtzehn
2 2 4 4 neunzehn
3 3 1 1 zwanzig
0)yks 0
1)kaks 1
2)kolm 4
3)neli 4
4)viis 9
5)kuus 9
6)seitse 16
7)kaheksa 16
8)yheksa 24
9)kymme 24
10)yksteist 24
11)kaksteist 24
12)kolmteist 36
13)neliteist 64
14)viisteist 81
15)kuusteist 256
16)siebzehn 625
17)achtzehn 1296
18)neunzehn 2401
19)zwanzig 4096
#include <stdio.h>
#include <stdlib.h>// malloc
#include <string.h>// strcpy
/**
Trevor Kallaste
164635IASB
Variant B3
**/
int MAX = 30;
typedef struct
{
int hind;
int p;
int l;
int s;
char kaup[11];
int koguhind;
}K;
K *ReadK(int*, char*);
void arvutus(K *n, int);
void sorter(K *n, int);
void v2ljastus(int* , K *n, int , char* );
void push(int*, int*, int);
int main(void)
{
int N;
int i = 0;
int j;
int *A = (int*)malloc(sizeof(int));
char File1Name[] = {"G1_164635IASB.txt"};
char File2Name[] = {"S_164635IASB.txt"};
K *n = ReadK(&N, File1Name);
arvutus(n, N);
sorter(n, N);
for(j=0;j<N;j++)
{
push(A, &i, (n+j)->koguhind);
}
v2ljastus(A, n, N, File2Name);
return 0;
}
void v2ljastus(int *A, K *n, int N, char* File2Name)
{
FILE *output;
int buff, j;
output = fopen(File2Name, "w");
for(j = 0; j < N; j++)
{
if(strlen((n+j)->kaup) < 6)
{
fprintf(output, "%d)%s\t\t%d\n", j,(n+j)->kaup, (n+j)->koguhind);
} else
{
fprintf(output, "%d)%s\t%d\n", j,(n+j)->kaup, (n+j)->koguhind);
}
}
fclose(output);
}
void push(int *A, int *i, int v22rtus)
{
int *temp = (int*)malloc((1 + (*i))*sizeof(int));
if(temp == NULL)
{
printf("Ei saa mlu eraldada!\n");
return;
}
A = temp;
*i = *i + 1;
*(A+((*i)-1)) = v22rtus;
printf("%d)%d\t%x\n", *i, *(A +((*i)-1)), *(A +(*i)));
}
void arvutus(K *n, int N)
{
int i;
for(i=0;i<N;i++)
{
(n+i)->koguhind = (n+i)->hind * (n+i)->l * (n+i)->p * (n+i)->s;
}
}
K *ReadK(int *Total, char *FileName)
{
int i=0;
K buf;
K *pTemp=NULL;
K *pArr=NULL;
FILE *fi=fopen(FileName,"r");
if(fi==NULL)
{
exit(1);
}
while(fscanf(fi,"%d%d%d%d%s",&buf.hind, &buf.p, &buf.l, &buf.s, buf.kaup)!=EOF && i<MAX)
{
pTemp=(K*)realloc(pArr,sizeof(K)*(i+1));
if( pTemp == NULL)
{
printf("Memory Allocation Failed");
fclose(fi);
free(pArr);
exit(1);
}
else
{
pArr=pTemp;
strcpy((pArr + i)->kaup,buf.kaup);
(pArr+i)->hind=buf.hind;
(pArr+i)->p=buf.p;
(pArr+i)->l=buf.l;
(pArr+i)->s=buf.s;
i++;
}
}
fclose(fi);
*Total=i;
return pArr;
}
void sorter(K *n, int N)
{
int j;
int i;
int temp;
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
{
if((n+(i+1))->koguhind < (n+i)->koguhind)
{
temp = (n+i)->koguhind;
(n+i)->koguhind = (n+(i+1))->koguhind;
(n+(i+1))->koguhind = temp;
}
}
}
}
......@@ -82,7 +82,7 @@ void v2ljastus(double *A, int n)
void push(double *A, int *n, double v22rtus)
{
double *temp = (double*)realloc(A, (1 + (*n))*sizeof(double));
double *temp = (double*)malloc((1 + (*n))*sizeof(double));
if(temp == NULL)
{
printf("Ei saa mälu eraldada!\n");
......@@ -91,5 +91,5 @@ void push(double *A, int *n, double v22rtus)
A = temp;
*n = *n + 1;
*(A+((*n)-1)) = v22rtus;
///printf("%d)%.15lf\t%x\n", *n, *(A +((*n)-1)), *(A +(*n))); ///.15lf
printf("%d)%.15lf\t%x\n", *n, *(A +((*n)-1)), *(A +(*n)));
}
No preview for this file type
No preview for this file type
Elementide arv: 15
0) 0.100000000000000
1) 0.000333333333333
2) 0.000002000000000
3) 0.000000014285714
4) 0.000000000111111
5) 0.000000000000909
6) 0.000000000000008
0) 0.000000000000000
1) 0.000000000000000
2) 0.000000000000000
3) 0.000000000000000
4) 0.000000000000000
5) 0.000000000000000
6) 37973223109605583000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000000000
7) 0.000000000000000
8) 0.000000000000000
9) 0.000000000000000
......
#include <stdio.h>
#include <math.h>
int main(void)
{
double ft;
double f[13] = {0.8427, 0.8223, 0.8183, 0.8101, 0.7952, 0.7775, 0.7449, 0.7082, 0.6633, 0.5981, 0.5287, 0.4445, 0.3670};
double delta;
double O[13];
double o = 0;
double l = 0.222;
double x;
int i;
double j = 0;
double d = 0.12;
for(i=0;i<=12;i++)
{
x = j / 100;
ft=((l/2-x)/sqrt((l-2*x)*(l-2*x) + d*d)) + ((l/2+x)/sqrt((l+2*x)*(l+2*x) + d*d));
delta = f[i] - ft;
O[i] = delta/ft;
///printf("%d: %.5lf\n", i, O[i]);
j += 1;
}
for(i=0;i<=12;i++)
{
o += O[i];
}
printf("%.5lf\n", o / 13);
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h> //malloc
#include <pgsql/libpq-fe.h>
void tudengilisamine(PGconn*);
int DROPkontroll(char*, int);
int ChkDate(char[], char[], char[]);
int nrkontroll(char*, int);
int main(void)
{
PGconn *conn;
char yl;
conn = PQconnectdb("dbname=iasb164635 host=ewis.pld.ttu.ee user=iasb164635 password=Pana5onic19");
if (PQstatus(conn) == CONNECTION_BAD) {
printf("We were unable to connect to the database\n");
return 1;
}
do{
printf("[1]Tudengi lisamine");
scanf("%c", yl);
switch(yl)
{
case '1':
tudengilisamine(conn);
break;
case '2':
case '3':
case '4':
case '0':
default:
}
}while(yl != 0);
return 0;
}
void tudengilisamine(PGconn *conn) ///Puudu martiklinr genereerimine ja keskmise hinde panemine
{
PGresult *res;
int rec_count;
int row;
int col;
char eesnimi[255];
char perenimi[255];
char aasta[5];
char p2ev[3];
char kuu[3];
char *synnikuup2ev;
int len;
int i;
printf("Sisestage eesnimi\n");
scanf("%s", eesnimi);
len = strlen(eesnimi);
if (DROPkontroll(eesnimi, len) != 0)
{
printf("Viga eesnime sisestamisel\n");
return;
}
printf("Sisestage perekonnanimi\n");
scanf("%s", perenimi);
len = strlen(perenimi);
if (DROPkontroll(perenimi, len) != 0)
{
printf("Viga perekonnanime sisestamisel\n");
return;
}
printf("Sisestage synni aasta\n");
scanf("%s", aasta);
len = strlen(aasta);
if (DROPkontroll(aasta, len) != 0 && nrkontroll(aasta, len) != 0)
{
printf("Viga aasta sisestamisel\n");
return;
}
printf("Sisestage synni kuu\n");
scanf("%s", kuu);
len = strlen(kuu);
if (DROPkontroll(kuu, len) != 0 && nrkontroll(kuu, len) != 0)
{
printf("Viga kuu sisestamisel\n");
return;
}
printf("Sisestage synni p2ev\n");
scanf("%s", p2ev);
len = strlen(p2ev);
if (DROPkontroll(p2ev, len) != 0 && nrkontroll(p2ev, len) != 0)
{
printf("Viga p2eva sisestamisel\n");
return;
}
if(ChkDate(aasta, p2ev, kuu) != 0)
{
printf("Viga synnikuup2eva sisestamisel\n");
return;
}
if((synnikuup2ev = malloc(strlen(aasta)+strlen(kuu)+strlen(p2ev)+3)) != NULL){
synnikuup2ev[0] = '\0'; // ensures the memory is an empty string
strcat(synnikuup2ev,aasta);
strcat(synnikuup2ev,'-');
strcat(synnikuup2ev,kuu);
strcat(synnikuup2ev,'-');
strcat(synnikuup2ev,p2ev);
} else {
printf("malloc failed!\n");
return;
}
res = PQexec(conn, "INSERT INTO student VALUES ( '" eesnimi "' , '" perenimi " ' , '" synnikuup2ev "' );");
}
int DROPkontroll(char *str, int len)
{
int i;
for(i=0;i<len-3;i++)
{
if((str+i) == 'D' && (str+(i+1)) == 'R' && (str+(i+2)) == 'O' && (str+(i+3)) == 'P')
{
return 1;
}
}
return 0;
}
int nrkontroll(char *str, int len)
{
int i;
for(i=0;i<len;i++)
{
if((str + i) <= 48 || (str + i) >= 57)
{
return 1;
}
}
return 0;
}
int ChkDate(char Saasta[], char Sp2ev[], char Skuu[])
{
int aasta, kuu, p2ev;
int liig = 0;
if(strlen(Sp2ev) == 1)
{
Sp2ev[1] = Sp2ev[0];
Sp2ev[0] = '0';
}
if(strlen(Skuu) == 1)
{
Skuu[1] = Skuu[0];
Skuu[0] = '0';
}
aasta=(Saasta[0]- '0')*1000 +(Saasta[1] - '0')*100
+ (Saasta[2] - '0')*10 + (Saasta[3] - '0');
if(aasta > 1000 && aasta <= 3600)
{
kuu =(Skuu[0] - '0')*10 + (Skuu[1] - '0');
if(kuu > 0 && kuu <= 12)
{
p2ev=(Sp2ev[0] -'0')*10+(Sp2ev[1] -'0');
if(aasta%4 == 0)
{
liig = 1;
if(aasta%100 == 0)
{
if(aasta%4 != 0)
{
liig = 0;
}
}
}
}
if(kuu == 1 || kuu == 3 || kuu == 5 || kuu == 7 || kuu == 8 ||
kuu == 10 || kuu == 12)
{
if(p2ev > 0 && p2ev <= 31)
{
return 0;
}
}else if(kuu == 2){
if(liig == 1)
{
if(p2ev > 0 && p2ev <= 29)
{
return 0;
}
} else{
if(p2ev > 0 && p2ev <= 28)
{
return 0;
}
}
} else if(kuu == 4 || kuu == 6 || kuu == 9 || kuu == 11)
{
if(p2ev > 0 && p2ev <= 30)
{
return 0;
}
}
return 1;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int MAX = 30;
typedef struct
{
int jrk;
int hind;
int p;
int l;
int s;
char kaup[11];
int koguhind;
}K;
K *ReadK(int*, char*);
void jrk(K *n, int);
void arvutus(K *n, int);
void swap2(int*,int*, int*, int*);
int choose_midnr(int,int);
void quicksorter(K *n, int, int, int);
int main(void)
{
int N;
char File1Name[] = {"G1_IASB164635.txt"};
char File2Name[] = {"S_IASB164635.txt"};
K *n = ReadK(&N, File1Name);
jrk(n, N);
return 0;
}
void arvutus(K *n, int N)
{
int i;
for(i=0;i<N;i++)
{
(n+i)->koguhind = (n+i)->hind * (n+i)->l * (n+i)->p * (n+i)->s;
}
}
void jrk(K *n, int N)
{
int i;
for(i=0;i<N;i++)
{
(n+i)->jrk = i;
}
}
K *ReadK(int *Total, char *FileName)
{
int i=0;
K buf;
K *pTemp=NULL;
K *pArr=NULL;
FILE *fi=fopen(FileName,"r");
if(fi==NULL)
{
exit(1);
}
while(fscanf(fi,"%d%d%d%d%s",&buf.hind, &buf.p, &buf.l, &buf.s, buf.kaup)!=EOF && i<MAX)
{
pTemp=(K*)realloc(pArr,sizeof(K)*(i+1));
if( pTemp == NULL)
{
printf("Memory Allocation Failed");
fclose(fi);
free(pArr);
exit(1);
}
else
{
pArr=pTemp;
strcpy((pArr + i)->kaup,buf.kaup);
(pArr+i)->hind=buf.hind;
(pArr+i)->p=buf.p;
(pArr+i)->l=buf.l;
(pArr+i)->s=buf.s;
i++;
}
}
fclose(fi);
*Total=i;
return pArr;
}
///--------------------------------------------------------------------------
void quicksorter(K *n, int m, int y, int pikkus)
{
int key,i,j,k;
int list[2][256];
for(i=0;i<pikkus;i++)
{
list[0][i]=(n+i)->koguhind;
list[1][i]=(n+i)->jrk;
}
if( m < y)
{
k = choose_midnr(m,y);
swap2(&list[0][m],&list[0][k], &list[1][m], &list[1][k]);
key = list[0][m];
i = m+1;
j = y;
while(i <= j)
{
while((i <= y) && (list[0][i] <= key))
i++;
while((j >= m) && (list[0][j] > key))
j--;
if( i < j)
swap2(&list[0][i],&list[0][j], &list[1][i], &list[1][j]);
}
swap2(&list[0][m],&list[0][j], &list[1][m], &list[1][j]);
quicksorter(list,m,j-1, pikkus);
quicksorter(list,j+1,y, pikkus);
for(i=0;i<pikkus;i++){
(n+i)->koguhind = list[0][i];
(n+i)->jrk = list[1][i];
}
}
}
void swap2(int *x,int *y, int *z, int *w)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
temp = *z;
*z = *w;
*w = temp;
}
int choose_midnr(int i,int j )
{
return((i+j) /2);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment