Aktualizovat „du5/program.c“
This commit is contained in:
parent
f583b1cadc
commit
f2a7087010
117
du5/program.c
117
du5/program.c
@ -1,59 +1,60 @@
|
||||
#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;
|
||||
#include<stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.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