Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;数组交换和查找最小元素_C++_Arrays - Fatal编程技术网

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;
  }