Wie, um herauszufinden, ob die gegebenen array in absteigender Reihenfolge sortiert, in der c-Programmierung

Ich brauche, um herauszufinden, ob der angegebene array in absteigender Reihenfolge sortiert ist oder nicht...

Ich habe die Ausgabe aber im portal, es zeigt, wie Falsche Antwort.

Dies ist mein code.

#include<stdio.h>
int main()
{
   int n,a[15],i,k=0;
   scanf("%d",&n);
   for(i=1;i<=n;i++)
   { scanf("%d",&a[i]);}
   for(i=1;i<=n;i++)
   {
      if(a[i]<a[i+1])
         k++;
   }
   if(k==0)
      printf("yes");
   else
       printf("no");
   return 0;
}

Mir helfen, es herauszufinden...

  • Sie nicht brauchen, um zu überprüfen, alle die Zahl in das array, das erste mal, wenn Sie eine Zahl, die größer als die Vorherige Zahl, die Sie haben Ihre Antwort.
  • Und du bist außerhalb der Grenzen des gelesenen Werte. Wenn Sie Lesen n Wert, was Wert wäre n + 1 haben?
  • Wie hast du davon ausgehen, dass der Nutzer wird immer die geben, die weniger als 15 zahlen im array a[15]? Das portal, wo Sie versuchen, den code zu testen wäre mit random test Fällen, in denen die array-Größe würde viel mehr als 15. In dem Fall würde der code fehl. Sie haben einen besseren Weg finden, dies zu tun.
  • bitte lernen Sie die Sprache die Grundlagen, bevor Sie versuchen, Programme zu schreiben es. die Tatsache, dass Sie der Indizierung des arrays aus 1 zeigt, dass Sie keine Ahnung haben, was Sie tun.
InformationsquelleAutor Anish Kumar | 2015-04-18
Schreibe einen Kommentar