Nahrát soubory do „du5“
This commit is contained in:
		
							parent
							
								
									e04e5c9fe5
								
							
						
					
					
						commit
						f583b1cadc
					
				
							
								
								
									
										59
									
								
								du5/program.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								du5/program.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,59 @@
 | 
			
		||||
#include<stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
struct person{
 | 
			
		||||
	int score;
 | 
			
		||||
	char name[30];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void addElement(struct person PersonList*,int score,char *name){
 | 
			
		||||
	static int size = 1;
 | 
			
		||||
	PersonList = realloc(PersonList,size*sizeof(struct person);
 | 
			
		||||
	PersonList[size-1]->score = score;
 | 
			
		||||
	PersonList[size-1]->name = name;
 | 
			
		||||
	size++;
 | 
			
		||||
}  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int comp(const void *p1, const void *p2){
 | 
			
		||||
	struct person* person1 = (struct person*)p1;
 | 
			
		||||
    struct person* person2 = (struct person*)p2;
 | 
			
		||||
 | 
			
		||||
	return strcmp(person1->name, person2->name);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main(){
 | 
			
		||||
	struct person PersonList*=(struct person *)calloc(0,sizeof(struct person));
 | 
			
		||||
	int  count = 0;
 | 
			
		||||
	char name[30];
 | 
			
		||||
	int score=0;
 | 
			
		||||
	int c =0;
 | 
			
		||||
	while(scanf("%d %s",&score,name)!=EOF){
 | 
			
		||||
		addElement(&PersonList,score,name);
 | 
			
		||||
		c++;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	qsort(PersonList,c,sizeof(struct person),comp);
 | 
			
		||||
	int idex = 0;
 | 
			
		||||
	for(int i =0;i<c;i++){
 | 
			
		||||
		if(strcmp(PersonList[i].name,PersonList[i+1].name)==0){
 | 
			
		||||
			PersonList[i-idex].score += PersonList[i+1].score;
 | 
			
		||||
			idex++;
 | 
			
		||||
		}	
 | 
			
		||||
		else{
 | 
			
		||||
			idex=0;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	printf("Vysledok\n");
 | 
			
		||||
	for(int i =0;i<c;i++){
 | 
			
		||||
		if(strcmp(PersonList[i].name,PersonList[i+1].name)!=0){
 | 
			
		||||
			printf("%d %s\n",PersonList.score,PersonList.name);
 | 
			
		||||
		}	
 | 
			
		||||
		
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user