1. sayfa
| hocam i%2==1 ise asal sayıdır demek doğru bir ifade değil bence |
| bu kod tamamen yanlış. zaten bir sürü hazır kod var, google'a "asal sayı kod c" yazman yeterli. |
| Hocam biliyorum aslında bunu i/2 diyerekte yapabilirdim ama i%2==1 ve 3 lü hali aslında dogru ornegın 3 ve ondan sonrakı sayılarda herhangı bır cıft asal varmı yok 2 de cıftlerı eledın 3 de ıse ornegın 9 asal degıl bunun gıbı sayılar var tek olup asal olmayan amac onlarıda elemek ıcın aslında daha guzel bır yol bence. |
| Ne desem bilemedim biz bılmıyoruz sankı ulan google bakmadan da yaptım zaten sorun o degıl bence bak bence asalları bulmak ıcın yapmıs oldugum yol dogru ama kodu yanlıs yazdım ben ve fonksıyonları yenı bıtırdım return kullanmayı ogrenmeye calısıyorum ve burada paylastımkı neyı yanlıs yapıyorum sen ıse yanlıs gıt bak dıyosun yanlıs anlama en azından emek verıp yazmıssın onuda yapmayanlar var ama rica etsem neresi yanlıs onu soylesen hatamı gorsem duzeltsek bırseyler yapsak benım ıcın daha ıyı olur. |
|
Kodundaki hata şu: sayıyı sadece 2 ve 3 ile bölerek test etmişsin, aslında sayının o sayıya kadarki tüm sayılarla bölünüp bölünmediğini kontrol etmen gerekir. Örneğin; 17 sayısının asal olup olmadığını test etmek istiyorsun. bu durumda 17%2 == 0, 17%3 == 0, 17%4 == 0 ... 17%16 == 0 durumuna kadar test etmen gerekecek. ozaman int bayrak = 0; |
|
int girilensayi= kullanicidan alinan sayi ; for( int i=2 ; i<= girilensayi / 2 ; i ++) { if(girilensayi % i == 0) { sayı asaldır. } } |
| Cevaplar için teşekkür ederim hocam yaptınız yolu bılıyorum ama ben return u kullanmak ıstedım benım yapıgım gıbıde yapılabılmesı lazım ben bunu merak edıyorum nasıl yapıcam ?? |
|
return'den kastınız nedir? main programının içinde bir return her zaman olur zaten ve bu return'un amacı programın düzgün çalışıp çalışmadığını kullanıcıya söyler, main'deki return'un tek işlevi budur. main programının 0 ile bitmesi programın hatasız çalıştığını, 0'dan başka herhangi bir sayıyla bitmesi ise programın hata verdiğini belirtir. siz programı 1 ile sonlandırmışsınız, dolayısıyla programda hata olduğunu söylüyorsunuz. eğer başka bir programdan sizin ana programınıza bir sayının asal olup olmadığını belirten bir sonuç return etsin istiyorsanız (ki mantıklı olanı budur), şöyle bir şey yapabilirsiniz:https://codeshare.io/GLgppK |
| anladım return den kastım dongu kurarak bellı bır sayıya kadar olan asalları bulmakta return ılede suraya sunu gonder veya suraya gıt dıyede dıye bılıyoruzya bende onu kullanmak ıstedım ogrenmek ıstedım ama beceremeedım bırde return 1 ise onu cıkartıgımdada koydugumdada bırsey degısmıyor :) sadece birisi demıstıkı herbır programın sonunda bır return ıhtıyac var o sekıl kullanmını gormustum olesıne yazdım return 0 deılde 1 artık ne olcaksa bılmıyodum |
|
return komutunu şu şekilde düşünelim. C dilinde fonksiyonlar yazılabilir. Bunlardan biri de main fonksiyonudur. main değiştirilemez ve kodlar ilk burdan çalışmaya başlar. ancak programcı isterse farklı fonksiyonları (kafasına göre isim vererek) yazabilir. fonksiyonlar iki türdür. değer dönen / değer dönmeyen. Eğer fonksiyon değer dönmeyecekse, sadece yazdırma vs yapacaksa fonksiyonun önüne void yazılır. örnek: void fonksiyonum() { printf("selam"); // dönüş değeri yok } eğer fonksiyon değer dönecekse önünde hangi tür değer dönecekse o yazılır. örnek: int toplamafonk() { return 3+5; // dönüş değeri int türünden } başka bir örnek double ondalikfonk() { return 3.14 // dönüş değeri double türünden } main de bir fonksiyon olduğuna göre önünde int var ise bir dönüş değeri olmalıdır. program dönüş değerini alsın diye kodun sonuna ister return -1; ister return 0; istersen return 1; yaz. önemli olan return önündeki değerin main'in önünde yazan ile aynı olması. örnek: int main() { return 55; } kabul gören de oraya return 0; yapıştırıp geçmek. ya da hiç return istemiyorsan aşağıdaki gibi de çalıştırabilirsin. void main() { printf("selamlar"); } |
|
Hocam return 'den sonraki satırlar çalıştırılmaz. return 'ü farklı bir fonksiyonda kullanarak ana fonksiyona yani main() 'e döndürür, diğer bir deyişle gönderirsiniz. Bundan dolayı main() fonksiyonunda koşullardan birisi doğru olduğunda return 'den sonrasına devam etmez. Bu nedenle çalışmıyordur programınız. Asal sayıyı return yardımıyla bulmak istiyorsanız, kodun o bölümünü farklı bir fonksiyonda yazarak çalıştırmayı deneyin. Diğer arkadaşların yorumlarını okumadım. Aynı şeyi yazan var ise affola. |
| Return kullanmayı bilmiyon daha biz googleddn bakmadik sanki triplerine girmissinn . Az saygili olun |
1. sayfa
#include<stdio.h>
int main(void)
{
int i;
int counter = 0;
for( i=1; i<10; i++ )
{
if( i == 1 || i == 2 || i == 3 ) return counter;
if( i % 2 == 0 || i % 3 == 0) return 0;
else if( i % 2 == 1 )
{
printf("Prime numbers\n");
counter++;
}
printf("Prime numbers:%d",counter);
}
getchar();
return 1;
}
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.