最近プログラミングを大学で習い始めたものです。わからないことがほとんどなので親切に教えていただけると幸いです。上のプログラムを作ってみたところプログラムがうまく動きません。どこ直せば正しい解を出せるようなプログラムは書けるでしょうか?
次のようなエラーが出ます。
./Main.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
3 | main()
| ^~~~
./Main.c: In function ‘main’:
./Main.c:8:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
8 | scanf("%d",&n);
| ^~~~~~~~~~~~~~
./Main.c:12:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
12 | scanf("%f",&x[i]);
| ^~~~~~~~~~~~~~~~~
/tmp/cc24RTvI.o: In function main': Main.c:(.text.startup+0x95): undefined reference to
narabekae'
collect2: error: ld returned 1 exit status
自分の書いたプログラムはこれです
#include<stdio.h>
void narabekae(int,float[]);
main()
{
int i,j,n;
float x[1000];
printf("Please input n.");
scanf("%d",&n);
i=0;
while (i<=n-1){
printf("Please input %dth data.",i);
scanf("%f",&x[i]);
i=i+1;
}
narabekae(n,x);
i=0;
while(i<=n-1){
printf("%f\n",x[i]);
i=i+1;
}
}
void swap(int* a, int* b)
{
int t = *a;
*a = *b;
*b = t;
}
int partition (int array[], int l, int r) {
int pivot = array[r];
int i = (l - 1);
for (int j = l; j <= r - 1; j++) { if (array[j] <= pivot) { i++; swap(&array[i], &array[j]); } } swap(&array[i + 1], &array[r]); return (i + 1);
}
void quickSort(int array[], int l, int r) {
if (l < r) {
int pivot = partition(array, l, r);
quickSort(array, l, pivot - 1);
quickSort(array, pivot + 1, r);
}
}
回答1件
あなたの回答
tips
プレビュー