Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //b2v.c :: binary-file to vector. 6.12.18
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #include "kfst.h"
- int main(){
- FILE *inpf=NULL;
- int i,j,n,mn,mx,m,svp;
- struct kfst *r;
- struct kfst **v;
- struct kfst **sv;
- inpf=fopen("kfst.vec","rb");
- if(inpf==NULL){
- printf("ei saa avada kfst.vec\n");
- return 4;
- }
- fscanf(inpf,"%d",&n);
- printf("n=%d\n",n);
- v=malloc(n*sizeof(struct kfst *));
- for(i=0;i<n;i++){
- r=malloc(sizeof(struct kfst));
- fread(r,sizeof(struct kfst),1,inpf);
- v[i]=r;
- }
- for(i=0;i<n;i++){
- r=v[i];
- printf("%s %s %d %s %s\n",r->enimi,r->pnimi,r->matr,r->kood,r->meil);
- }
- fclose(inpf);
- //--------------------------------------------
- //teen sagedusvektori (v6ti on matr) ja kirjutan kettale
- //faili kfst.sv: 1. rida m=sv-elementide arv ja svp:
- //sv pikkus baitides, 2.rida: sv, edasi kirjed.
- //s-sagedusvektor,m*sizeof(int)-sagedusvektori pikkus
- //int *sagedused(void)
- //{
- // int i,j,b;
- int b;
- int *s;
- mn=mx=v[0]->matr;
- for(i=1;i<n;i++){
- if(v[i]->matr < mn)mn = v[i]->matr;
- else if(v[i]->matr > mx)mx = v[i]->matr;
- }
- printf("mn=%d mx=%d\n",mn,mx);
- m=((mx-mn)+1)*4;
- s=malloc(m*sizeof(int));
- memset(s,'\0',m*sizeof(int));
- for(i=0;i<n;i++)s[v[i]->matr - mn]=1;
- // printf("sagedusvektor:\n");
- // for(j=0;j<m;j++)printf("%d ",s[j]);
- // printf("\n");
- j=0;
- for(i=0;i<m;i++){
- if(b=s[i]){
- for(;b;b--){
- v[j]->matr=i+mn;
- j++;
- }
- }
- }
- // return(s);
- //}
- int sisestus;
- // printf("Sisesta matriklinumber: ");
- // scanf("%d", &sisestus);
- printf("%d", s[178441]);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement