c
1#include<stdio.h> 2void kokanKojun(double x[],int n) 3{ 4int i,j; 5for(i=0;i<n-1;i++){ 6 for(j=1;j<n-i;j++){ 7 if(x[j-1]>x[j]){ 8 int t = x[j-1]; 9 x[j-1] = x[j]; 10 x[j] = t; 11 } 12 } 13} 14 15} 16 17int main(void) { 18 double a[6]; 19 int i; 20 printf("整列前 "); 21 for (i = 0; i < 6; ++i) { 22 a[i] = (double)rand() / RAND_MAX; 23 printf("%lf, ", a[i]); 24 } 25 printf("\n"); 26 kokanKojun(a, 6); 27 printf("整列後 "); 28 for (i = 0; i < 6; ++i) { 29 printf("%lf, ", a[i]); 30 } 31 printf("\n"); 32 return 0; 33} 34
ランダムに作った配列aの中身を降順にソートするプログラミングを作っています。
しかし、a[i]=(double)rand() / RAND_MAX;の部分で下記のようなエラーが出てしまいます。
Main.c:23:20: warning: implicit declaration of function 'rand' is invalid in C99 [-Wimplicit-function-declaration] a[i] = (double)rand() / RAND_MAX; ^ Main.c:23:29: warning: variable 'RAND_MAX' is uninitialized when used here [-Wuninitialized] a[i] = (double)rand() / RAND_MAX; ^~~~~~~~
エラーの理由と改善方法を教えていただきたいです。自分でも調べてみたのですがピンとくるものがありませんでした...
回答1件
あなたの回答
tips
プレビュー