Her keze selam. Kızımın dönem ödevi için “ C “ de şu kodu yazması gerikor. Konu şu: “ 2 sayının en büyük 2 ortak asal bölenlerinin çarpımı” bunu C de tam bölen olarak yapabiliyorum ama "ortak asal bölen" olarak yapmak nasıl olacak bilemiyorum. Örnek kod yazabilen varsa sevinirim. Teşekkürler. "DEv C++" kullanıyorum. Format .c olmalı. |
'C' Dilinde Asal Ortak Bölen Hesaplama Nasıl Yapabilirim ? Yadrdım Lütfen !
-
-
2 tane olacagını ne meçhul 1 tane çıkarsa ne olacak ?
-
Yazdıgınız kodu gönderir misiniz ?
< Bu ileti mini sürüm kullanılarak atıldı > -
elbette sonuç "sıfır" diyecek.
-
Bu başlığa cevabı, Kendisinin youtube kanalı olan arkadaşımız çok güzel cevapladı Kendisine bir kez daha teşekkür ediyorum.. kanalına abone olmanızı şiddetle öneririm. Kanalı "
Mucit Yazılım " link:
https://www.youtube.com/channel/UCZvtPTPYv5rwVI9qHpd6rnQ
Bana göndermiş olduğu denklem de şu şekilde paylaşıyorum;
*********************************************************************************************************
#include <stdio.h>
#include <stdlib.h>
int asalMi( int sayi )
{
int i , sonuc =1;
for( i = 2; i <= sayi/2; i++) {
if(sayi % i == 0) {
sonuc = 0;
break;
}
}
return sonuc ;
}
int tamBolenBul( int sayi1, int sayi2 )
{
int sonuc1=0, sonuc2=0, tamSonuc=0;
int ikinciBuyukAsal=0, birinciBuyukAsal=0;
int bol, bolum1, bolum2;
for(bol = 2; bol<=sayi1 && bol<=sayi2 ;bol++){
bolum1=sayi1 % bol;
bolum2=sayi2 % bol;
if(bolum1== 0 && bolum2==0 ){
if( asalMi(bol) )
{
printf("%d asal \n", bol ) ;
if( ikinciBuyukAsal==0 )
{
ikinciBuyukAsal=bol;
tamSonuc=1;
}
else if( birinciBuyukAsal==0 )
birinciBuyukAsal= bol;
else
{
ikinciBuyukAsal= birinciBuyukAsal;
birinciBuyukAsal= bol;
tamSonuc=1;
}
continue;
}
printf("%d \n",bol);
}
}
if( tamSonuc==0)
return 0;
else
{
printf("\nikinci buyuk asal sayi : %d \n", ikinciBuyukAsal) ;
printf("\nbirinci buyuk asal sayi : %d \n", birinciBuyukAsal) ;
return ikinciBuyukAsal * birinciBuyukAsal;
}
}
int main()
{
int s1,s2;
printf("sayi1: ") ; scanf("%d", &s1);
printf("sayi2: ") ; scanf("%d", &s2);
printf("\nOrtak tam bolenleri : \n\n");
int sonuc= tamBolenBul(s1,s2);
if(sonuc==0)
printf("\nGirdiginiz sayilar arasinde tam bolen iki ortak asal sayi yok ! \n");
else
printf("\nsonuc: %d \n" , sonuc );
return 0;
}
*****************************************************************************************************************
-
Uğraştığınız/yazdığınız kadar kodu koymadan cevap istemişsiniz. Emek yok. Kızınız ne öğrendi merak ediyorum?. Yanlış yaptınız.
Ayrıca paylaştığınız kodun okunurluğu düşük. Hem de optimum değil. Yarısı kadar satırda, daha hızlı ve anlaşılır yapmak mümkün.
-
olumsuz eleştirini yeni gördüm. Ödevi öyle teslim etmedi bu şekilde teslim etti. Umarım bu seni "MUTLU" eder. ***Lütfen sorunlu ruh hali ile cevap yazmayın !!!*** Ödev:
#include <stdio.h>
#include <stdlib.h>
//* Hazırlayan:
//* Sınıf:
//* No:
//* Konu: Rastgele iki sayının en büyük iki asal böleninin çarpımı nedir
//* Bunu c'de yazarken şu komutları ve işaretleri kullanacağız
/*
1. int ; Tamsayı değerlerini tutmak için kullanılır.
2. for ; Döngüler, bir işlemin belli bir koşul altında tekrar edilmesi için kullanılır.
3. if ; Koşula bağlı işlem satırı veya satırları çalıştırma olanağı sağlayan komut.
4. break ; Koşul gerçekleştiğinde döngüden çıkmak için kullanılır.
5. return; bir fonksiyondan çıkış yapmak ve program içinde fonksiyon çağrısının yapıldığı işlem satırından
bir sonraki işlem satırına geçiş yapmak için kullanılır.
6. printf; Bir string değişkeni ekrana yazdırmak için %s argümanını kullanılır. char str[]="C Programlama
Dili"; printf("%s",str); İşaretli int ve long değişkenleri onluk sistemde ekrana yazdırmak için %d
veya %i kullanılır
7. else; if-else Yapıları : Bu yapılar, koşullu işlem yapan kontrol yapılarıdırlar. Eğer bu koşul olumlu ise
if den sonraki bölüm yürütülür ve else den sonraki bölüm atlanır. Koşul olumsuz ise (else=değilse)
if den sonraki satırlar atlanır ve eğer varsa,else den sonraki işlemler gerçekleştirilir.
8. continue;tanımlı değeri döngüde görünce döngünün başına dönmek
9 & İlk şart sağlanmasa bile devamındaki şartlara da bakar.
9. && (and) ve kapısı; Her iki değerde 1 döndürüyorsa sonuç 1’dir. Eğer döndürmüyorsa sonuç 0’dır.
*/
int asalMi( int sayi ) //* asal sayıyı (girilen değerde tanımlama)
{
int i , sonuc =1; //* ekrana girilen tam sayı ve "sonuç" değişkeni 1 ise
for( i = 2; i <= sayi/2; i++) { //* koşul şu (tam sayı 2 ye eşit ve girilen değer eşit veya küçükse sayı değişkenin bölünmesine bak bölünüyorsa devam et
if(sayi % i == 0) { //* sayı ve tam sayı değerleri sıfır olursa
sonuc = 0; //* sonuç değişkeni sıfır olur ise
break; //* döngüden çık
}
}
return sonuc ; //* sonuc tanımına geri dön
}
int tamBolenBul( int sayi1, int sayi2 ) //* tam bölen bul (girilen sayı 1 ve 2 için)
{
int sonuc1=0, sonuc2=0, tamSonuc=0; //* 1.ve 2. sayı sıfır, tamsonuç sıfır ise
int ikinciBuyukAsal=0, birinciBuyukAsal=0; //* 2. ve 1. büyük asal sayı sıfır ise
int bol, bolum1, bolum2; //* böl,bölüm1, bölüm2 tanımla
for(bol = 2; bol<=sayi1 && bol<=sayi2 ;bol++){ //* koşul (böl 2 ye eşit, böl sayı1-2 den küçük veya eşit ise işlemi tekrarla
bolum1=sayi1 % bol; //* bölüm 1 sayı1 eşitse yukarıdaki işlemi yap
bolum2=sayi2 % bol; //* bölüm 2 sayı1 eşitse yukarıdaki işlemi yap
if(bolum1== 0 && bolum2==0 ){ //* bölüm 1 ve bölüm 2 işlemleri sıfır oluyor ise
if( asalMi(bol) ) //* asalmi tanımı içinde böl
{
printf("%d asal \n", bol ) ; //* ekrana asal değerin altına bol değişkenini yaz
if( ikinciBuyukAsal==0 ) //* eğer(if) ikinciBüyükasal 0'a eşit ise
{
ikinciBuyukAsal=bol; //* ikinciBüyükasal değer bol değerine eşitse
tamSonuc=1; //* tamsonuc 1
}
else if( birinciBuyukAsal==0 ) //* değilse (else) eğer(if) birincibüyükasal 0 ise
birinciBuyukAsal= bol; //* birinciBuyukAsal eşitse bol değerine
else //* "değilse" yukarıdaki koşul devam et
{
ikinciBuyukAsal= birinciBuyukAsal; //* ikinciBuyukAsal eşitse birinciBuyukAsal
birinciBuyukAsal= bol; //* ikinciBuyukAsal
tamSonuc=1; //* tamsonuc değişkeni eşitse 1'e
}
continue; //* devam et
}
printf("%d \n",bol); //* bol değişken değerini alt satıra yaz
}
}
if( tamSonuc==0) //* eğer tamsonuc 0 ise
return 0; //* sıfıra dön
else //* değilse
{
printf("\nikinci buyuk asal sayi : %d \n", ikinciBuyukAsal) ; //* ikinciBuyukAsal değeri sonucu alt satıra bas
printf("\nbirinci buyuk asal sayi : %d \n", birinciBuyukAsal) ; //* birinciBuyukAsal değeri sonucu alt satıra bas
return ikinciBuyukAsal * birinciBuyukAsal; //* ikinciBuyukAsal ve birinciBuyukAsal dğerlerine dön ve çarp
}
}
int main() //* sonucu, yukarıdaki işlemlerin alına devam edeceğimiz değerler
{
int s1,s2; //* iki değişken belirliyoruz
printf("sayi1: ") ; scanf("%d", &s1); //* sayı1 değeri ekrana bas girilen tam sayı s1 şartını bak devam et
printf("sayi2: ") ; scanf("%d", &s2); //* sayı2 değeri ekrana bas girilen tam sayı s2 şartını bak devam et
printf("\nOrtak tam bolenleri : \n\n"); //* "nOrtak tam bolenleri" ifadesini alt satıra bas ve alt satırdan devam et
int sonuc= tamBolenBul(s1,s2); //* x satırdaki sonuç denklemi eşitse tamBolenBul(s1,s2) sonuç denklemine
if(sonuc==0) //* ve eğer sonuç denklemi eşitse sıfıra aşağıdaki ifadeyi bas alt satıra
printf("\nGirdiginiz sayilar arasinde tam bolen iki ortak asal sayi yok ! \n");
else //* değilse
printf("\nsonuc: %d \n" , sonuc ); //* SONUÇ
return 0;
}
/* "C" NEDİR? TANIMI VE KULLANIM ALANLARI
C yazılım dili yüksek seviyeli aynı zamanda geniş maksatlı bir programlama dili olarak karşımıza çıkıyor.
Dennis Ritchie ve Brian Kernighan tarafından Bell Labs'da 1972 yılında geliştirilmiş ve kullanımına başlanmıştır.
Ayrıca C programlama dili neredeyse hiç duyulmayan bir programlama bili olan B programlama dilinin tabanı esas
alınarak geliştirilmiştir.
C programlama dili ayrıca Firmware ve taşınabilir uygulamalar geliştirmek için öncelikli olarak tercih ediliyor.
Günümüzde de hala en çok tercih edilen yazılım dili olarak karşımıza çıkan C programlama dilin kullanılarak
geliştirildiği en önemli yazılım unix işletim sistemi olarak biliniyor. Çok sık tercih edilmesinin yanı sıra
öğrenme aşaması da biraz uzundur.
Özellikle güvenli uygulamalar ve sistemler geliştirmek için kullanılıyorsa çok titiz bir çalışma gerektirir.
Gömülü sistem olarak değerlendirilen çamaşır makinesi hesap makinesi gibi makineleri de kodlayabilir.
Ayrıca bu yazılım dili ile robot yapabilirsiniz. Bunların yanı sıra unix çekirdeği, Microsoft Windows programları,
işletim sistemi uygulamaları ve android işletim sisteminin büyük bir bölümü c programlama dili kullanılarak
oluşturulmuştur. Yeni bir programlama dilini oluşturmak içinde C programlama dilini de kullanabiliyorsunuz.
Kısacası bu programlama dili teknolojinin her alanında ve her aşamasında öncelikli olarak tercih ediliyor. */
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X