Ordnung der Laufzeit....
-
Hallo!Ich habe einen Allgo.(siehe unten).Ich muß dazu die Ordnung der Laufzeit berechnen.
Ich habe folgendes raus bekommen,das der Allgo.eine Quadratische Ordnung hat.
also .
Bekommt ihr das selbe raus?#include <stdio.h> #include <conio.h> int main() { int m1[100][100]; int s,z,m; int t1=1; int k=0; int ze=2; int sp=2; int merker=0; int m2,m3,m4; int i=1; int h=0; int j=1; int n1=2; int l1=1; int l2=2; int z1=1; int g=0; int g3=0; int g5=0; int n2=0; do { printf("------------Eingabe der Matrixwerte-----------------\n\n"); printf("Geben Sie die Spaltenlaenge der Matrix ein (max.5):"); scanf("%d",&s); printf("Geben Sie die Zeilenlaenge der Matrix ein (max.5) :"); scanf("%d",&z); } while(s>=6||z>=6); printf("\n----------------------------------------------------\n"); printf("Die Spaltenlaenge beträgt:%d\n",s); printf("Die Zeilenlaenge betraegt:%d\n",z); printf("----------------------------------------------------\n"); int t2=s*z; //-----------Äußere----Schleife-------------------------------------------------- for(j=1;j<z+1;j++) { //-----------Innere----Schleife------------------------------------------------- for(i=1;i<s+1;i++) { printf("Eingabe [%d von %d] -- Zeile %d Spalte %d:",t1,t2,j,i); scanf("%d",&m1[i][j]); if((m1[i][j]==0)||(m1[i][j]==1)){ t1+=1; } else { printf("---------------------------------------------------------------------\n"); printf("Bitte Geben Sie nur eine 1 oder eine 0 als Zahl ein!\n");i=i-1;j=j;t1=t1;t2=t2; printf("---------------------------------------------------------------------\n"); }}} printf("Die Darstellung der Matrix:\n"); for(j=1;j<z+1;j++) { printf("\n"); for(i=1;i<s+1;i++) { printf("%d ",m1[i][j]); }} printf("\n\n"); //--------------Diagonale mit einsen in Teilmatrizen suchen------------------------ //-----------Äußere schleife--------------------------------------- for(z1=1;z1<s;z1=z1+2,l1=l1+2,l2=l2+2) { if(m1[l1][l1]&&m1[l2][l2]==1){h=h+1;} if((h>=1)&&(s>=3)&&(z>=3)&&(m1[3][3]==1)){g3=1;} if((h==2)&&(s==5)&&(z==5)&&(m1[5][5]==1)){g5=1;} if(h==2){g=1;} } for(i=1;i<s+1;i=i+2,ze=i+1)//spalte { //-------Innere schleife--------------------------------------- for(j=1;j<z+1;j=j+2,sp=j+1)//zeile { if(j==1){sp=2;} if(((m1[i][j])==1)&&((m1[ze][sp]))==1)k=k+1; }} printf("---------------------Teilmatrix-Belegung---------------------------\n\n"); for(i=1;i<s;i++,n1++) { n2=(n1*n1); if((z%n1||s%n1)==0) { n2=(n1*n1); if(((s*z)%n2)==0) { m=(s*z)/n2; merker=1; printf("[%d] [%dx%d] Teilmatrize(n), sind moeglich.\n",m,n1,n1); }} else { if(((s%n1)==0)&&((z%n1)!=0)&&((merker)==0)) { m2=((z)-(z%n1))*(s)/n2; printf("[%d] [%dx%d] Teilmatrize(n), sind moeglich.\n",m2,n1,n1); }} if(((z%n1)==0)&&((s%n1)!=0)&&((merker)==0)) { m3=((s)-(s%n1))*(z)/n2; printf("[%d] [%dx%d] Teilmatrize(n), sind moeglich.\n",m3,n1,n1); } else { if(((z%n1)!=0)&&((s%n1)!=0)&&((merker)==0)) { m4=((s)-(s%n1))*((z)-(z%n1))/n2; printf("[%d] [%dx%d] Teilmatrize(n), sind moeglich.\n",m4,n1,n1); }}} printf("\n"); printf("---------------------Matrix Diagonal Belegung----------------------\n\n"); printf("[%d] [2x2] Teilmatrize(n) nur mit Einsen in der Hauptdiagonale.\n",k); printf("[%d] [3x3] Teilmatrize(n) nur mit Einsen in der Hauptdiagonale.\n",g3); printf("[%d] [4x4] Teilmatrize(n) nur mit Einsen in der Hauptdiagonale.\n",g); printf("[%d] [5x5] Teilmatrize(n) nur mit Einsen in der Hauptdiagonale.\n",g5); printf("-------------------------------------------------------------------\n"); getch();return 0; }