実行日時、実行時間を、実行時間の短い順に表示したいのですが、
コンパイルはできる状態です。コードの下に実行結果を張り付けています。
実行時間時間の短い順に表示されない。
コード #include <stdio.h> #include <stdlib.h> #define NDATA ((sizeof lst)/(sizeof(DATA_TIME))) typedef struct // { int year; // int mon; // int mday; // int hour; // int min; // int sec; double score; }DATA_TIME; // --------------- 比較用の関数 cmp cmp ------------------- int cmpptr( const void *p, const void *q ) { return (*(DATA_TIME**)p)->score - (*(DATA_TIME**)q)->score; } // ---------------------------------------------------- int main() { DATA_TIME lst[]={{2017, 9,16, 8,18,10,10.6}, {2015,12, 7,19,59, 8, 8.0}, {2016, 1, 3, 1, 9,11, 7.5}, {2016, 4, 5,19,16, 8, 9.0}, {2015, 6, 4,19, 2,44, 7.5}, {2016, 8, 7,22,31,52, 9.3}, {2014, 1, 4,23,43,50,10.2}, {2016, 5,31,21, 9,53, 7.0}, {2014, 2,12,28,31,49,13.0}, {2016, 2,28, 2,27,20, 7.8}, {2015, 5, 2,16,43,32, 6.3}, {2017, 9,14,10,21,18, 6.0}, {2017, 9,16, 8,18,10, 8.6}}; int i; DATA_TIME *plst[NDATA]; // ポインタの配列 plst に構造体配列のアドレスを代入 for(i=0; i<NDATA; i++) plst[i]=&lst[i]; // 実行時間の短い順にソート qsort(plst, NDATA, sizeof(DATA_TIME*), cmpptr ); //並べ替え後の内容を表示 for( i=0; i<NDATA; i++ ) printf(" %d年 %d月 %d日 %d時 %d分 %d秒 実行時間:%.1f秒\n\n" ,plst[i]->year, plst[i]->mon, plst[i]->mday, plst[i]->hour, plst[i]->min, plst[i]->sec, plst[i]->score); } /*実行結果 C:\MinGW\users\chap09\kadai>gcc -I. -o narabekae2 narabekae2.c -Wall C:\MinGW\users\chap09\kadai> narabekae2 2017年 9月 14日 10時 21分 18秒 実行時間:6.0秒 2015年 5月 2日 16時 43分 32秒 実行時間:6.3秒 2016年 1月 3日 1時 9分 11秒 実行時間:7.5秒 2015年 12月 7日 19時 59分 8秒 実行時間:8.0秒 2015年 6月 4日 19時 2分 44秒 実行時間:7.5秒 ・・・おかしい 2016年 2月 28日 2時 27分 20秒 実行時間:7.8秒 ・・・おかしい 2016年 5月 31日 21時 9分 53秒 実行時間:7.0秒 ・・・おかしい 2016年 4月 5日 19時 16分 8秒 実行時間:9.0秒 2016年 8月 7日 22時 31分 52秒 実行時間:9.3秒 2014年 1月 4日 23時 43分 50秒 実行時間:10.2秒 2017年 9月 16日 8時 18分 10秒 実行時間:8.6秒 ・・・おかしい 2017年 9月 16日 8時 18分 10秒 実行時間:10.6秒 2014年 2月 12日 28時 31分 49秒 実行時間:13.0秒 C:\MinGW\users\chap09\kadai> */
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/24 06:59
退会済みユーザー
2017/09/24 10:04
退会済みユーザー
2017/09/24 10:27
2017/09/24 10:54
退会済みユーザー
2017/09/24 11:13