gpt4 book ai didi

c - 在 C 中搜索、排序和打印排序的二维整数数组

转载 作者:太空宇宙 更新时间:2023-11-04 07:31:00 25 4
gpt4 key购买 nike

我在打印二维整数数组中最大值的位置时遇到问题。即元素数组[33][2]的值为500是最大值,其中[33]表示第33周,[2]表示第2天。我想要 printf(“最大值是 500,在第 X 天找到”)以及 printf(“最大的一周是:Y”)(对于第一周,它是连续七天中的最大总和)达到的一周)

此外,当我尝试对二维整数数组进行排序时,已排序版本的打印未排序...我正在使用带温度的冒泡排序:

for (i=0; i<100;i++){
for(j=0;j<7;j++){
fscanf(filetoreadfrom,"%d\n",&array[i][j]);

if(array[i][j] < array[i][j+1]){

temp=array[i][j];
array[i][j]=array[i][j+1];
array[i][j+1]=temp;
}}}

我迷路了...

最佳答案

您正在对数据进行排序,然后再读取所有数据。先读取数据:

for (i=0; i<100;i++){
for(j=0;j<7;j++){
fscanf(filetoreadfrom,"%d\n",&array[i][j]);
}
}

然后进行排序:

for (i=0; i<100;i++){
for(j=0;j<7;j++){
if(array[i][j] < array[i][j+1]){
temp=array[i][j];
array[i][j]=array[i][j+1];
array[i][j+1]=temp;
}
}
}

并且您的排序算法不正确。例如,当 j 为 6 时,语句 array[i][j]=array[i][j+1]; 尝试读取 array[ i][7].

关于c - 在 C 中搜索、排序和打印排序的二维整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13792126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com