C# int değerle bool işlem yapmak

os_neww

Femtopat
Katılım
10 Mayıs 2022
Mesajlar
10
Daha fazla  
Cinsiyet
Erkek
0'dan başlayıp 99'a kadar olan sayıların 2-3-4 bölünebilenlerini ekrana yazdıracağım.
Ekran yazdırdığımızda örneğin 4 rakamı 2 ve 4'e bölünebildiği için.
Yanına 2 ve 4 bölünebilir yazacak.
Bu işlemi nasıl yaparım?
Ben yapıyorum hata veriyor.

Kod:
 int sayi;
 for (sayi = 0; sayi <= 99; sayi++)
 {
 Console.WriteLine(sayi);
 if (sayi / 2 && sayi / 4)
 {

 }
 }
 Console.ReadKey();
 
0'dan başlayıp 99'a kadar olan sayıların 2-3-4 bölünebilenlerini ekrana yazdıracağım.
Ekran yazdırdığımızda örneğin 4 rakamı 2 ve 4'e bölünebildiği için.
Yanına 2 ve 4 bölünebilir yazacak.
Bu işlemi nasıl yaparım?
Ben yapıyorum hata veriyor.

Kod:
 int sayi;
 for (sayi = 0; sayi <= 99; sayi++)
 {
 Console.WriteLine(sayi);
 if (sayi / 2 && sayi / 4)
 {

 }
 }
 Console.ReadKey();
Syntaxi bilmiyorum fakat modular operatora bakabilirsin.
 
sayi / 2 bir kontrol mekanizması değil. Aynı şekilde sayi / 4. sayi % 2 == 0 yada sayi % 2 > 0 kontrol mekanizmasıdır. % işareti mod demek. Kalanı kontrol ediyor. Eğer kalan yoksa bölünebilir demektir, eğer kalan varsa bölünemez demektir. if((sayi % 2 == 0) && (sayi % 4 == 0)). Bu şekilde bir kullanım düzgün çalışır muhtemelen. Çalışmazsa parantez sayısını arttır. İşlemlerin dış bloklara sıçramasını önlemiş olursun.
 
@TheAny dediği gibi for döngüsü içine if(sayi%2==0) && (sayi%4==0) şartlarını kullanıp içine "sayi - bölünebilir " print ettirirsin ve sayi++ yaparsın çalışır bu şekilde.
 
0'dan başlayıp 99'a kadar olan sayıların 2-3-4 bölünebilenlerini ekrana yazdıracağım.
Ekran yazdırdığımızda örneğin 4 rakamı 2 ve 4'e bölünebildiği için.
Yanına 2 ve 4 bölünebilir yazacak.
Bu işlemi nasıl yaparım?
Ben yapıyorum hata veriyor.

Kod:
 int sayi;
 for (sayi = 0; sayi <= 99; sayi++)
 {
 Console.WriteLine(sayi);
 if (sayi / 2 && sayi / 4)
 {

 }
 }
 Console.ReadKey();

if(sayi/2==0)
{
if(sayi/4==0)
{
Console. Writeline(sayi);
}
}
Console.ReadKey();[/CODE]
 
for (int i=0;i<=100;i++)
{
if (i % 2 == 0 && i%4==0)
{ Console.WriteLine(i); }
}
Console.ReadKey();
}

pcde değilim elle yazdım yanlışlık varsa düzeltebilirsin.

if(sayi/2==0)
{
if(sayi/4==0)
{
Console. Writeline(sayi);
}
}
Console.ReadKey();[/CODE]
Hocam sayı / 4 bölümü alır yani 18/4 derseniz 4 olur kalanı almaz.
 
For (int i = 0; i<=100; i++)
{
İf (i % 2 == 0 && i%4==0)
{ Console. Writeline(i); }
}
Console.ReadKey();
}

PC'de değilim elle yazdım yanlışlık varsa düzeltebilirsin.

Hocam sayı / 4 bölümü alır yani 18/4 derseniz 4 olur kalanı almaz.

Tamam ben doğruu yaptım amacım boz almak değil yanda == koydum yani eğer 0'a eşit ise yaz dedim.
 
if(sayi/2==0)
{
if(sayi/4==0)
{
Console. Writeline(sayi);
}
}
Console.ReadKey();[/CODE]
Yanlış. sayi / 2 == 0, eğer sayi = 0 değilse hiç bir zaman doğru olmaz. 0 hariç hiç bir gerçek sayının bölümü sıfıra eşit olmaz. Kalan kontrol ettirecek. Mod kullanması gerek bu yüzden.
 
Tamam ben doğruu yaptım amacım boz almak değil yanda == koydum yani eğer 0'a eşit ise yaz dedim.
sayi/4 = 0 demek kalan almak değildir. Bölümü 0 olanı buldurur yazdığınız işlem yani yanlış olur.

Ayrıca 2 tane bağımsız if döngüsü yazmışsınız bu da % olsa bile 2 ye bölünenleri ayrı , 4 e bölünenleri ayrı getirir. Hem 2 hem 4 e bölünenleri getirmez.
 
sayi/4 = 0 demek kalan almak değildir. Bölümü 0 olanı buldurur yazdığınız işlem yani yanlış olur.

Ayrıca 2 tane bağımsız if döngüsü yazmışsınız bu da % olsa bile 2'ye bölünenleri ayrı, 4'e bölünenleri ayrı getirir. Hem 2 hem 4'e bölünenleri getirmez.

Aa pardon şimdi anladım kusura bakmayın doğru mod almamız gerek o eğer öyle olursa sadece 2 ve 4'ü yazar kusura bakmayın.
 

Technopat Haberler

Yeni konular

Geri
Yukarı