Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string.h>
- #include <stdio.h>
- //gets(), strtok(), sscanf()
- int compare(float *list1, float *list2){
- for (int i = 0; i < 3; ++i) {
- if (list1[i]>list2[i]){
- return 1;
- }else{
- if (list1[i]<list2[i]){
- return -1;
- }else{
- continue;
- }
- }
- }
- return 0;
- }
- void read(float *o, float *list){
- char *opened, temp[50] = {"0"};
- opened = strtok(list ," ");
- while (opened != NULL){
- if(opened[0]>47 && opened[0]<58){
- sscanf(opened, "%f", &o[0]);
- } else if(opened[0]=='N'){
- if(strlen(opened)==1){
- o[1]=1;
- } else {
- strcpy(temp, &opened[2]);
- sscanf(temp, "%f", &o[1]);
- }
- } else if(opened[0]=='l'){
- if(strlen(opened)==4){
- o[2]=1;
- } else {
- strcpy(temp, &opened[5]);
- float te;
- sscanf(temp, "%f", &te);
- o[2]=te;
- }
- }
- opened = strtok(NULL, " ");
- }
- }
- int main(){
- int q, q1;
- scanf("%d", &q);
- char rubbish;
- char list1[50] = "0";
- char list2[50] = "0";
- char *opened1, *opened2;
- scanf("%c", &rubbish);
- q1 = q;
- for (int i = 0; i<q1; ++i){
- gets(list1);
- gets(list2);
- float o1[3] = {1, 0, 0};
- float o2[3]= {1, 0, 0};
- read(o1, list1);
- read(o2, list2);
- int res = compare(o1, o2);
- printf("%d\n", compare(o1, o2));
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement