Goto ve break kullanmadan nasıl yazılır?

pcengineer

Decapat
Katılım
28 Kasım 2018
Mesajlar
35
Bu kod parçasını goto ve break kullanmadan nasıl yazabilirim ?

Kod:
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++)
if (A[i][j] != 0)
     goto degil;
     printf(“Hepsi-sifir olan ilk satır = %d\n”, i);
     break;
     degil:
}
 
Son düzenleme:
Bu nasıl bir soru yav, yapmak istediğin şeyi ve çalışmayan örneğini anlatmıyor ki bu soru? Amacın ne, "n" değeri ne vs... ?
 
Kod:
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++)
if (A[i][j] == 0)
     printf(“Hepsi-sifir olan
         ilk satır = %d\n”, i);
}
?
 
-vazgeçtim-
C:
// Diziler 0'dan başladığı için dizi işlem for'ları 0'dan başlar.
int flag = 1;
for (i = 0; i < n && flag == 1; i++) {
    for (j = 0; j < n && flag == 1; j++)
    {
        if (A[i][j] != 0)
        {
            printf(“Hepsi-sifir olan ilk satır = %d\n”, i);
            flag = 0;
        }
    }
}
 
Son düzenleme:
Bu kod parçasını goto ve break kullanmadan nasıl yazabilirim?

Kod:
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++)
if (A[j] != 0)
goto degil;
printf(“Hepsi-sifir olan ilk satır = %d\n”, i);
break;
degil:
}

goto komutu programın flow control amacıyla kullanılıyor. Genelde BASIC gibi non-structured dillerde kullanılır. C structured bir dil olduğu için kullanmak gereksizdir. Hatta önerilmez. Flow control için block yapılarını kullanabilirsiniz.

break komutu gerektiğinde loopları kırmaya yarıyor. Bir koşul sağlanırsa loopun daha fazla dönmemesi için. Alternatif olarak loop variableları değiştirebilirsiniz. Bu sayede loop devam etmez. Programı sonlandırmak istiyorsanız return ya da exit fonksiyonlarını kullanabilirsiniz.
 

Geri
Yukarı