C++ C++;数组交换和查找最小元素
我试图找到第一个最小的数组,但我的代码没有显示任何输出。没有错误或警告。事实上,我正在检查一个算法,这是我在大学的作业C++ C++;数组交换和查找最小元素,c++,arrays,C++,Arrays,我试图找到第一个最小的数组,但我的代码没有显示任何输出。没有错误或警告。事实上,我正在检查一个算法,这是我在大学的作业 #include <iostream> using namespace std; int main(){ int arr[7]= {8,4,6,9,2,3,1}; int n = sizeof(arr)/sizeof(arr[0]); int smallest = 0; for(int j = 1; j = (n-1); j =
#include <iostream>
using namespace std;
int main(){
int arr[7]= {8,4,6,9,2,3,1};
int n = sizeof(arr)/sizeof(arr[0]);
int smallest = 0;
for(int j = 1; j = (n-1); j = (j + 1) )
{
smallest= j ;
for(int i = (j+1); i = n ; i = (i + 1))
{
if (arr[i]<arr[smallest])
{
smallest = i;
int swaper = arr[j];
arr[j] = arr[smallest];
arr[smallest] = swaper;
}
}
}
for(int a = 1; a = n; a = (a + 1))
{
cout<<arr[a];
}
return 0;
}
#包括
使用名称空间std;
int main(){
int-arr[7]={8,4,6,9,2,3,1};
int n=sizeof(arr)/sizeof(arr[0]);
int=0;
对于(int j=1;j=(n-1);j=(j+1))
{
最小=j;
对于(int i=(j+1);i=n;i=(i+1))
{
如果(arr[i]此代码有三个错误:
您至少是一致的,并且在每个循环中都犯了相同的错误。您需要在每个循环中修复它。此代码有三个错误:
# include <iostream>
using namespace std;
int main ()
{
int a[100][100],n,k,i,j,aux,mi=0;
cin>>n>>k;
for(i=1;i<=n;i++)
for(j=1;j<=k;j++)
cin>>a[i][j];
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(a[i][k]>a[j][k])
{aux=a[i][k];
a[i][k]=a[j][k];
a[j][k]=aux;
} //until here you are sorting the 2D array
for(i=1;i<=n;i++) {
for(j=1;j<=k;j++) {
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
mi=a[1][1];
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
if (mi<a[i][j])
mi=a[i][j];
} //here you're finding the smallest element
cout<<mi;
return 0;
}
您至少是一致的,并且在每个循环中都犯了相同的错误。您需要在每个循环中修复它。\include
# include <iostream>
using namespace std;
int main ()
{
int a[100][100],n,k,i,j,aux,mi=0;
cin>>n>>k;
for(i=1;i<=n;i++)
for(j=1;j<=k;j++)
cin>>a[i][j];
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(a[i][k]>a[j][k])
{aux=a[i][k];
a[i][k]=a[j][k];
a[j][k]=aux;
} //until here you are sorting the 2D array
for(i=1;i<=n;i++) {
for(j=1;j<=k;j++) {
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
mi=a[1][1];
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
if (mi<a[i][j])
mi=a[i][j];
} //here you're finding the smallest element
cout<<mi;
return 0;
}
使用名称空间std;
int main()
{
int a[100][100],n,k,i,j,aux,mi=0;
cin>>n>>k;
对于(i=1;ia[i][j];
对于(i=1;i#包括
使用名称空间std;
int main()
{
int a[100][100],n,k,i,j,aux,mi=0;
cin>>n>>k;
对于(i=1;ia[i][j];
对于(i=1;iIt听起来你可能需要学习如何使用调试器来逐步完成代码。有了一个好的调试器,你可以逐行执行你的程序,看看它偏离了你的预期。如果你要做任何编程,这是一个必不可少的工具。进一步阅读:在所有for循环的退出检查中,你都有 =
非=
。这是赋值,而不是检查是否相等。这意味着您的循环将永远不会退出。请在要求人们花费时间尝试解决您的问题时,礼貌地让他们正确缩进您的代码,并使用一致的间距。(我知道Yksisarvinen这次是为你做的——但实际上,你不应该像那样依赖其他人。)听起来你可能需要学习如何使用调试器来逐步完成代码。有了一个好的调试器,你可以逐行执行你的程序,看看它偏离了你的预期。如果你要做任何编程,这是一个必不可少的工具。进一步阅读:在所有for循环的退出检查中,你有=
非==
。这是赋值,不是检查是否相等。这意味着您的循环将永远不会退出。请在要求人们花费时间试图解决您的问题时,礼貌地让他们正确缩进代码,并使用一致的间距。(我知道Yksisarvinen这次是为你做的,但实际上,你不应该依赖其他人。)好的!我已经改变了我的循环,第一个循环是这样的(int j=0;j==n-1;j++),第二个循环是这样的(inti=j+1;输出应该在所有循环1,3,2,6,4,8,9之后,但输出是7,8,4,6,9,2,3,1ok!我已经更改了我的循环!第一个循环是这样的(intj=0;j==n-1;j++),第二个是(inti=j+1;输出应该在所有循环1,3,2,6,4,8,9之后,但输出是7,8,4,6,9,2,3,1
# include <iostream>
using namespace std;
int main ()
{
int a[100][100],n,k,i,j,aux,mi=0;
cin>>n>>k;
for(i=1;i<=n;i++)
for(j=1;j<=k;j++)
cin>>a[i][j];
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(a[i][k]>a[j][k])
{aux=a[i][k];
a[i][k]=a[j][k];
a[j][k]=aux;
} //until here you are sorting the 2D array
for(i=1;i<=n;i++) {
for(j=1;j<=k;j++) {
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
mi=a[1][1];
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
if (mi<a[i][j])
mi=a[i][j];
} //here you're finding the smallest element
cout<<mi;
return 0;
}