Yazan : Şadi Evren ŞEKER
Soru 1) Bir dosyaya isminizi yazdırınız.
Çözüm 1) dosyaya ismimizi yazdıran kodu aşağıdaki şekilde yazabiliriz:
Yukarıdaki kodda dikkat edilecek bir husus, dosyanın “r” değil “w” şekliyle açılması ve dosyanın mutlaka kapatılmasıdır. Bilindiği üzere kapatılmayan dosyalara yazıldığından kesin olarak emin olamayız ve dosya kapatılmadıysa içerisine bilgi yazılmamış olabilir.
Yukarıdaki kod çalıştırıldıktan sonra aynı dizin içerisinde “dosya.txt” isimli bir dosya oluşturulur ve bu dosyanın wordpad benzeri bir programla açılması durumunda içinde ismimizin yazdığını görebiliriz.
Soru 2) Klavyeden okunan bir sayının asal çarpanlarını ekrana basan kodu yazınız.
Çözüm 2)
Yukarıdaki kodda görüldüğü üzere önce bir sayı okunmuş (kodun 7. Satırı) ardından bir döngü içerisinde, 2’den başlayarak bütün sayılara bu girilen sayıyı bölme denenmiştir. For döngüsünün (8. Satır) koşulu, sayının 1’den büyük olmasıdır. Dolayısıyla sayı 1 olunca yani bütün asal sayılara bölümü tamamlanınca çalışma duracaktır.
Yukarıdaki kodda bulunan iç döngü (9. Satırdaki while döngüsü) ise bir asal sayının birden fazla kere bölme ihtimaline karşı yazılmıştır. Örneğin 60 girdisi için 2 asal sayısı, 2 kere bölebilir. Bu durumda bir sonraki asal sayı ile deneme yapılmadan önce, şu anda bölmeyi denediğimiz asal sayı ile bölünmeyinceye kadar deneme yapıyoruz.
Kodun 11. Satırında ise, denediğimiz sayının, girilen sayıyı tam bölmesi durumunda bölerek sayıyı küçültüyor ve başarılı olarak bölebildiğimiz bu sayıyı bir çarpan olarak ekrana yazıyoruz.
Kodun örnek çalışması aşağıdaki şekildedir.
Soru 3) Bir dizgideki kelime sayısını ekrana bastıran kod yazınız.
Çözüm 3)
Soruda, girilen bir dizgideki (String) kelime sayısının saydırılması istendiği için, dizginin scanf ile okunması mümkün değildir. Bilindiği üzere scanf tek bir kelime okur ve bu durumda işe yaramaz. Birden fazla kelimenin boşlukları ile okunması istenen durumda gets fonksiyonu kullanılabilir. Yukarıdaki kodun 6. Satırında da bu şekilde dizgi okunmuştur. Ardından dizgide bulunan boşluklar dizgi sonuna kadar saydırılmıştır. Dizgi sonu kontrolü 8. Satırda bulunan for döngüsünde yapılırken, dizgi içerisinde o anda bakılan karakterin boşluk karakteri olup olmadığı 9. Satırdaki if kontrolü ile yapılmıştır. Şayet boşluk karakteri ise, kelimesayısı değişkeni 1 arttırılmıştır.
Basitçe hesaplanacağı üzere, bir dizgideki boşluk sayısı, kelime sayısından 1 eksik olur. Bu problemin çözümü için kelimesayısı değişkeni 0 yerine 1’den başlatılmıştır.
Kodun çalışan hali aşağıda verilmiştir.
Soru 4) Bir dizgideki en uzun kelimeyi bularak ekrana bastıran kodu yazınız
Çözüm 4)
Yukarıdaki kod, 3. Sorudaki koda benzer şekilde, dizgi sonuna kadar bütün karakterleri kontrol etmekte ve boşluk karakterlerinde kodun 15. Satırında bulunan if kontrolüne girmektedir. Bu kodda farklı olan bir özellik, iki adet karakter göstericisi (character pointer) ile dizgi üzerinde işaretleme yapılmasıdır.
Bu göstericilerden kelimebasi isimli gösterici, o ana kadar bulunan en uzun kelimeyi göstermekte, yenikelime göstericisi ise, üzerinden geçilen son kelimeyi göstermektedir.
Kodun çalışmasını aşağıdaki şekilde anlayabiliriz:
Yukarıda gösterildiği üzere, ilk başta iki gösterici de dizginin ilk karakterini göstermektedir. Ayrıca kelimeboyu ve yeniboy değişkenlerinin değeri 0’dır.
Ardından kodumuz döngü içerisinde karakter karakter ilerlemekte ve ilk boşluğu gördüğü anda aşağıdaki şekilde yeni kelim değişkeni hareket ettirilmektedir.
İlk boşluğa gösterici hareket ettirildikten sonra boşluğa kadar olan harf sayısı sayılmakta ve yeniboy 3 olmaktadır.
Tekrar bir boşluk karakterine kadar göstericimiz hareket eder:
Bulduğumuz yeni kelimenin boyu 4 olduğu ve şimdiye kadar bulduğumuz en uzun kelimeden daha uzun olduğu için kelimebasi göstericisini ilerletiyor ve yukarıdaki şekilde bulunan yeni kelimenin ilk karakterine atıyoruz, ayrıca yenikelime göstericisi, mevcut konuma ilerletiliyor ve bir sonraki kelimenin aranmasında kullanılıyor.
Yeni bulunan kelime boyu, o ana kadar bulunan kelime boyundan daha küçük olduğu için kelimebasi değişkenimiz hala o ana kadar bulunmuş en uzun kelimeyi göstermeye devam ediyor.
Bir önceki örnekte olduğu gibi, bulunan yeni kelimenin boyutu, ilk kelimeden büyük olmadığı için değişkenimiz ilerlemiyor.
Son olarak bulduğumuz yeni kelimenin boyu, şimdiye kadar bulunan kelimelerden uzun olduğu için, göstericiyi ilerletiyor ve kelimebasi olara bu kelimenin ilk harfini gösteriyoruz. Sonuçta dizgi sonuna kadar giderken, anlık olarak bir kelimenin boyutu değişkende tutuluyor, bir kelimenin boyutunun bu değişkende tutulan boyuttan daha uzun olması durumunda bu kelimeyi gösteren bir gösterici işaretleniyor ayrıca bu yeni kelimenin boyutu, elimizde o ana kadar bulunan en uzun kelime boyutu olarak tutuluyor.
Kodun çıktısı aşağıdaki şekildedir:
Soru 5) Kullanıcıdan bir sayı okuyarak, okunan bu sayı boyutlarında bir kare matrisi, her hücresine, en yakın kenara olan uzaklığı ile doldurunuz.
Çözüm 5)
Soruda her hücreye, en yakın kenara olan uzaklık yazılması istenmiş, bu durumda örneğin 5×5 boyutunda bir matris için aşağıdaki şekilde veri girilmesi gerekir:
1 | 1 | 1 | 1 | 1 |
1 | 2 | 2 | 2 | 1 |
1 | 2 | 3 | 2 | 1 |
1 | 2 | 2 | 2 | 1 |
1 | 1 | 1 | 1 | 1 |
Görüldüğü üzere kenar değerlerine 1 , bir içerdeki hücrelere 2 ve en ortadaki hücreye 3 yerleştirilmesi istenmiş.
Bu dorunun çözümünde sadece döngüler kullanılarak bir döngünün kenara olan uzaklığı hesaplanıp ekrana yazdırılabilir. Bu yöntemin çözümü aşağıdaki şekildedir:
Yukarıdaki kodda görüldüğü üzere, her hücre için, hücrenin kenara olan 4 farklı uzaklığı hesaplanmıştır. Bu değerlerden iki tanesi, koordinatları olan i ve j değerleridir ki bu değerler, sol kenara ve üst kenara olan uzaklık olarak düşünülebilir.
Ayrıca sağ kenar ve alt kenara olan uzaklıkların hesaplanması kodun 20. Ve 21. Satırlarında bulunan a ve b değişkenleri ile yapılmıştır. Matrisin boyutundan koordinat çıkarılmış ve 1 ilave edilmiştir.
Sonuçta elimizde 4 farklı kenara olan 4 farklı uzaklık bulunmaktadır. Bizden istenen bu uzaklıklardan en küçüğünü ekrana basmamız. Bu durumda kodun 4-13 satırları arasında bulunan ve verilen 4 sayıdan en küçüğünü döndüren fonksiyonu çağırarak bu 4 uzaklıktan en küçüğünü bulabiliriz.
Kodun çalışan hali aşağıdaki şekildedir:
4. sorunun 27. satırındaki if’deki büyüktür ters verilmiş galiba hocam.
yeniboyu tanımlarken hata yapmışım. 🙂 teşekkürler..
ben b.t.t. bölümünegiden 10 sınıf ögrenciyim hoca benden C koduyla üç sayı girerek girilen sayılardan ör:25 sayısına en yakın sayıyı bulmamı istedi bana yardımcı olabilirmisiniz
Elbette yardımcı olabiliriz. Basit bir formül ile 25’e yakınlığı test etmeye çalışalım. Buradaki sorun 25’ten büyük ve küçük sayılar arasındaki mesafenin değişmesidir. Örneğin 22 sayısı ile 25 arasında 3 varken 28 ile de 3 vardır. O halde bu iki sayı eşit uzaklıktadır. Ancak siz
mesafe = 25 – (girilen sayı)
şeklinde bir formül kullanırsanız sonuçta 28 gibi bir sayı için mesafe -3 çıkarken 22 için mesafe +3 çıkacaktır. Bu + ve – problemini çözmek için genelde mesafenin karesi alınır (kare alma fonksiyonu çift bir fonksiyondur ve sonucu her zaman pozitif döner)
mesafe = (25 – (girilen sayı))2
şeklinde yazarsak 22 için de 28 için de sonuç 9 çıkacaktır ve fonksiyonumuz her durumda çalışacaktır.
O halde problemimizi artık kodlayabiliriz:
3. soruda 9. satır içinde if koşuluna dizgi[i+1]!=” ” kodunu eklemezsek bir boşlukta birden fazla kez space tuşuna basılmış ise kelime sayısının fazla dönmesiyle karşılaşırız.
teşekkürler
hocam soracam sorunun bu konuyla alakası yok ama c++ ya dda java da ebob ekok bulma programı yapıyoruz..bir muhendis olarak hangi yazılımlarda bu işimize yarayacak..şimdiden teşekkürler hocam
Sorunuzu şu şekilde anlıyorum. Bilgisyar Mühendisliği eğitimi sırasında, çok fazla sayıda, gerçek hayatta doğrudan kullanılmayan kod yazıyorsunuz ve bu kodları yazarken verdiğiniz emeğin değip değmeyeceğini soruyorsunuz.
Siz üniversitede öğrenci olarak ilk okulu, listeyi bitirmiş binlerce sayfalık not tutmuş birisisiniz. Bu tuttuğunuz notların yanına kişisel olarak yazdıklarınızı da ekleyin. Ömrünüz boyunca bir yerlere yazdığınız bütün cümleleri bir düşünün. Gerçek hayatta yazı yazmak işinize yarayan birşey ve binlerce sayfalık yazı yazmışsınız. Peki bu binlerce sayfa yazının arasında kaç kere “Ali topu at.” cümlesini yazdınız? Gerçek hayatta kaç kere bu cümleye ihtiyaç duydunuz? Defterlerinize yazdığınız cümlelerin kaçta kaçı “Ali topu at.” cümlesi?
İlk okulda size bu cümleyi yazdırmalarındaki amaç, yazı yazmayı öğretmekti. Elbette farklı cümleler de kullanılabilir ama karmaşık olmayan basit, öğrenmenizi sağlayacak bir cümleye ihtiyaç var ki yazı yazmayı, cümlenin ne olduğunu öğrenesiniz ve bu bilgiyi hayatınızın geri kalanında kullanasınız ve hayatınızın geri kalanındaki milyonlarca cümleyi buradan edindiğiniz tecrübe ile doğru bir şekilde kurasınız.
Bilgisayar mühendisliği eğitiminde de, gerçek hayatta, belki kullanacağınız, belki hiç kullanmayacağınız pek çok kod yazıyorsunuz. Bunların amacı size gerçek hayatta işinize yarayacak bilgiyi ve tecrübeyi kazandırmaktır.
Elbette elmizde mükemmel bir eğitim sistemi yok ve hataları olduğunu biliyoruz. Ayrıca yine biliyoruz ki, farklı eğitim metodu önerileri, zaman içinde çıkacak ve eğitim sisteminde değişiklikler olacaktır ama şimdilik elimizdeki en iyi yöntem, henüz programlamayı yeni öğrenmiş kişilere altından kalkabilecekleri basit program örnekleri vermek (ebob gibi) ve bu örneklerle kendilerini geliştirmelerini sağlamak.
Bu arada benim çok fazla sayıda projemde ebob kod yazmam gerektiğini de belirteyim. Belki bu durum şifreleme ile ilgilenmemden kaynaklandı, herkes aynı ihtiyacı duyacak diye bir kural yok ama bence yazdığınız kodlardan öğrendiğiniz size kardır.
Zaten aksi de mümkün değil. Yani herkesin hayatının sonuna kadar hangi şirkette çalışacağını ve tam olarak nelere ihtiyacı olacağını bilebilseydik. Ve herkese özel bir eğitim sistemi uygulayabilseydik, tam olarak istediklerinizden oluşan bir eğitim içeriği hazırlayabilirdik. Ama aldığınız eğitim genel bir eğitim ve aranızda çok farklı alanlarda çalışacak kişiler var. Dolayısıyla eğitim içeriğinde belki hayatınızda hiç kullanmayacağınız şeyler olması çok normal.
Bütün bunların yanında unutmayın ki sizin çalışma hayatınız boyunca, henüz hiç hayal bile edilmemiş teknolojileri kullanmanız gerekecek (en azından istatistikler bize bunu gösteriyor).
Pek çoğunuz belki de şu anda ismi bile olmayan mesleklerde çalışacak. Geçmişe baktığımızda, hiçbirimiz eğitimini aldığımız dilde kod yazmıyoruz. Örneğin ben 1. sınıfta pascal dili almıştım. Bugün bu dil neredeyse hiç kullanılmıyor. Görüldüğü üzere, size sadece ve doğrudan işinize yaracayak şeyleri anlatmak imkansız.
Sorunuza dönecek olursak, bir mühendis olarak, iyi bir mühendis olmaya bakın, şu anda yapabileceğiniz en iyi şey bu.
başarılar
hocam soracağım soru asal sayılar ile ilgili…. soru şöyle; kullanıcı tarafından girilen bir sayıyı asal çarpanlarına ayırıp daha sonra asal çarpanlarının üslerini hesaplayan bir program nasıl yazabilirim…
örneğin; n=24 sayısı çarpanları; 2*2*2*2*3 yani 2 üssü 4 * 3 üssü 1 şeklinde olur.. sonuçta çıkan işlemde kaç tane asal çarpan varsa o sayıyı 2 ile çarpacaz.. mesela 24 sayısında 2 ve 3 asal çarpanları 2 tane var bunu 2 ile çarparsak üsler toplamını 2*2=4 buluruz normalde de üslerin toplamı 3+1= 4 oluyor…
algoritma mantığını ancak bu kadar çıkarabildim ama programı bi türlü yazamadım bu konuda yardımcı olursanız sevinirim….
şimdiden teşekkürler….
Asal çarpanlara ayırdıktan sonra bu değerleri bir dizide tutmayı deneyin. Örneğin yukarıdaki soruda verilen çarpanlara ayırma koduna ilave olarak bulunan çarpanları doğrudan ekrana basmak yerine önce bir diziye atıp ardından eşit olanları basabilirsiniz. Farklı bir yöntem olarak da eski üst değerini tutup üst değerinde değişme olduğunda sayaç kullanabilirsiniz.
Aşağıdaki şekilde kodlanabilir: (Yukarıdaki 3. sorunun çözümünde 7. satırdan sonrası için):
Başarılar
slm hocam sıze bı sorum olucak.diskte sayı.txt olarak kayıtlı dosyanın her satırında 0ile 10000 arasında sayılar kayıtlıdır. bu içeriği okuyup diskte sayi2.txt ismi altında sayıların 1000e bölünmüş hallerını kayıteden c programını sorabilirmiym.tesekkur edrım.
Yapmanız gereken, ilk dosyayı okuduktan sonra aldığınız değerleri sayıya çevirmektir. Bunun için iki yoldan birini izleyebilirsiniz. Birincisi dosya içeriğini fscanf fonksiyonu ile %d kullanarak sayı olarak okumaktır ki bu sayede bir int değişkene değer atayabilirsiniz. Diğer yol ise okuduğunu string değerleri atoi fonksiyonu kullanarak int değere çevirmektir.
Ardından okunan değerleri bölebilir ve ikinci bir dosyaya yazdırabilirsiniz. Kabaca müsvette kodu aşağıdaki şekilde olacaktır:
Kim olduğunuzu ve sorunuzun ödev olup olmadığını bimediğim için ancak bu kadar yardımcı olabiliyorum aslında oldukça basit bir kod ama en kötü yazmaya çalışın, kodunuzu ve takıldığınız noktaları sorun ve yardımcı olmaya çalışayım.
Başarılar
merhaba benim sorum şöyle;
benden bi sayı girmem isteniyor ve asallarına ayırmam gerek..örneğin 12 girdiğimde 2-2-3 ekrana çıkmalı.ben çarpanlarına ayırdım ancak ekrana şöle bi sonuç çıkardım: 2-2-3- sondaaki (-) işaretinden kurtulamadım..ayrıca programi for kullanmadan yazmalıyım..yardımcı olur musunuz?
herhangi bir ekran çıktısının sonunda bulunan işareti silmek istiyorsanız iki yol bulunuyor.
1. C dilindeki sringler içerisinde b karakteri back space (yani geri silme) anlamı taşır.
Örneğin printf(“alibabab”) komutu, ekrana alibab çıkarır ve sondaki a harfini basarken siler.
2. döngü içerisindeki basma işlemleri sırasında, ilk basılan veya son basılanı özel olarak ele alırsınız. Örneğin bütün terimleri -x şeklinde basıyorsanız, ilk basılan terimde – koymamak veya bütün terimleri x- şeklinde basıyorsanız, son basılan terimde – koymamak birer alternatif olabilir.
Programları döngü kullanmadan yazmak istiyorsanız özyineli fonksiyonlar (recursive functions) başlıklı yazıyı okuyabilirsiniz, ayrıca sitede bu konuda sorulmuş ve çözülmüş çok sayıda örnek bulunuyor. Şayet for kullanmamak ile kat ettiğiniz while kullanabileceğiniz ise o zaman for döngülerinin tamamı while döngüsüne çevrilebilir.
Başarılar
cvp için tesekkürler.
merhaba hocam ,
benim sorum bir f fonksiyonunun (A,B) aralıgında kökü oldugu bilinmektedir.köklerin bulundugu baska bir aralık (a,b) olmak üzere a ve b yi b.a en küçük olacak şekilde belirleyen algoritmayı çiziniz.
yardımcı olursanız sevinirim .
Sorunuz açık değil. Tam olarak “b.a en küçük olacak şekilde” ile anlatılmak istenen nedir?
hocam burda bir not vardı onu yazmayı unutmuşşum
not:a>A ve b<B ve A,B,a,b birer tamsayı bu nota gre istiyor hocam .
aynı noktayı tekrar soruyorum b.a en küçük derken, b ve a ikilisinin en küçük olduğu ihtimal mi soruluyor?
hocam bnm sorum şöyle: kullanıcıdan pozitif bir sayı girmesi istenecek ve sayının tek rakamları ekrana toplanmış olarak çıkacak.örneğin sayı 12345 ise ekranda 1+3+5=9 çıkmalı..(sayımız 3-4-5… ne kadar istersek o kdr basamağa sahip olabilir,yani 457467575 olabilir 12 de..kullanıya kalmıs.)ben tek rakamları toplamayı basardım ama 1+3+5=9 şeklinde gösteremedim,,tesekkurler
bu arada while yada if ile yazılmalı kod.. for değil..
evet hocam .
hocam ben çevre müh. de okuyorum fakat turbo c görüyoruz. finalde asansör kodları girip 5 katlı bir ev yapcakmışız, her katta da ses çıkarcakmış. internette örneğini bulamadım bu ödevi yapamıyorum yardımcı olursanız sevinirm.teşekkurler.
Sorunuz pek birşey ifade etmiyor, tam metnini aktarırsanız yardımcı olmaya çalışayım. Muhtemelen bir senaryo üzerinden bazı kodlar yazmanız isteniyor ama aktardığınız kadarı çok anlaşılır değil.
Başarılar
iyi günler hocam benim de size bir sorum olacak şöyle ki :kullanıcı tarafından girilen sayıdan küçük en büyük asal sayıyı ekrana yazdıran program algoritmasını yapamadım yardımcı olursanız sevinirim.
Basitçe girilen sayıdan azaltarak sayının asal olup olmadığını kontrol etmemiz gerekiyor.
Sayının asal olduğunu kontrol etmek çok basit, bir döngü ile kendisinin kareköküne kadar olan sayıların tam bölüp bölmediğine bakacağız. (Fermat teoremine göre)
Kodu yazdım ve test ettim tam hali aşağıdaki şekilde:
hocam c dilinde cümle içindeki fazlalık boşlukları silen programı nasıl yazabilirim
Bir dizgiden (string) okuyup diğer bir dizgiye (string) boşlukları atlayarak atabilirsiniz. Diğer bir çözüm de dizgideki elemanları kaydırmak olabilir. İkisini de yazayım:
Çalışan hali aşağıdaki şekildedir:
diğer çözüm, yani kaydırma da aşağıdaki şekilde yazılabilir:
ilk yaklaşımdan farklı olarak ikincisinde boşluk görülünce dizginin (string) geri kalanındaki bütün elemanlar sola kaydırılmıştır. Bu işlem boşluk görüldükçe tekrar eder.
Başarılar
yardımlarınız için çok teşekkür ederim..
hocamız şöyle bir çalışma sorusu verdi
kullanıcıdan sayısal str okuyup okudugu str gecerli bir tamsayı ise taban belirleyecek(16’lık,8’lik,2’lik..)tabanı belirledikten sonra 10’luk tabana cevirecek, 10’luk tabanda sayı verildiğinde okunuşunu söyleyecek…
çok uğraştım ama hatalar alıyorum bu programı acıklayarak anlatır mısınız
Sanırım aşağıdaki gibi bir kod ile işe başlayabiliriz. Verilen onluk tabandaki sayıyı verilen tabana çevirir (sizin istediğinizin tersi):
Şimdi görüldüğü üzere, verilen sayı, verilen tabana bölünüp kalan değer basamak ile çarpılıyor ve basamak her seferinde 10 ile çarpılıp bir kaydırılıyor.
Gelelelim sizin istediğiniz kısma. Hızlıca kodluyorum ve yukarıdaki işlemin tersini yapacak (yani verilen tabandan onluk sisteme çevirecek)
Kod basitçe, carpan değerini birden başlatıp her dönüşte verilen taban ile çarpmaktadır. Yani taban 2 için 1 sonra 2 sonra 4 sonra 8 gibi üstleri elde eder. Ayrıca bu değerle o andaki verilen sayının son hanesini çarpar. Son haneyi almak için %10 kullanıyoruz. Ayrıca sayının son hanesi çalıştıktan sonra sayı bir hane kaydırılıyor ki bunun için de /10 kullanıyoruz. Örneğin yukarıdaki kodun çıktısı aşağıda:
Kabaca 1101 için ikilik tabanda olması halinde onluk karşılığının 13 ve sekizlik tabanda olması halinde onluk karşılığının 577 olduğunu bulmuştur.
Ayrıca aşağıdaki yazılardan faydalanabilirsiniz:
http://www.bilgisayarkavramlari.com/2009/10/08/sayi-tabanlari-number-bases-2/
http://www.bilgisayarkavramlari.com/2011/04/01/ondalikli-sayilarin-taban-donusumleri/
Son olarak sorunuzda onaltılık tabandan bahsetmişsiniz, burada A,B,C,D,E harfleri sayı yerine kullanılır. Bu harfleri alıp karakter karakter incelerken karşılaşmanız durumunda çarpan olarak karşılığını dönüştürmeniz gerekiyor.
Biraz uğraşın yine de tam çözümü yapamazsanız kodlar yayınlarım.
Başarılar
bir dizgi katarı içinden istediğimiz kelimeyi nasıl bulabiliriz?
örneğin,geleceğimgelirsen dizgisi elimizde olsun biz bu dizgi içinden gel kelime sayılarını nasıl buluruz
Sorunuzun cevabı metin arama algoritmalarını kodlamak ile ilgili. Daha önce sitede yazıp yayınladığım algoritmalardan bazıları aşağıdaki şekildedir:
Metin arama algoritmaları (bir yazı içerisinde belirli bir dizgiyi (string) arayan algoritmalar)
Başarılar
merhaba Şadi hocam, benim aradığımda DFA metin arama algoritması sizin kodları inceledim fakat çalıştıramadım. ekrandan bir dizgi girilsin ve bu dizgi içinde istediğimiz kelimeyi sizin kodlarla bağlantı kurarak nasıl çalıştırırız(bu kodların kütüphaneleri nelerdir…)
Şayet bahsettiğiniz kod aşağıdaki adresteki ise:
http://www.bilgisayarkavramlari.com/2009/11/24/dfa-metin-arama-algoritmasi-dfa-text-search/
Bu kod pseudocode(müsvette) olarak yazılmıştır ve amacı sadece algoritmayı açıklamaktır. Sizin kodda bulunan DFA işlemleri ile ilgili fonksiyonları kodlamanız gerekir. Şayet bu alt fonksiyonları kodlarsanız algoritma başarılı bir şekilde çalışacaktır. Şayet bu alt fonksiyonlardan anlaşılmayan varsa ilgili yazının altında yorum olarak sormanız halinde yardımcı olmaya çalışırım.
Başarılar
ya hocam sizde rahatsız ediyom ama dfa algoritmasında baya alt fonksiyon var nasıl başlayacağımı hangisini nasıl yapacağımı anlayamadım
Bazı dillerin kendisi DFA özelliğindedir (örneğin PROLOG veya LISP) gibi diller bu şekilde kullanılabilir.
Bazı diğer diller için ise bunu yapan hazır yazılımlar vardır. Örneğin JAVA veya C# için bunu yapan kütüphaneler (API) bulunmaktadır.
Ancak sanırım siz C dilinde kodluyorsunuz. Bu durumda hazır bir kod bilmiyorum en güzeli kendinizin yazması. Birazdan basit bir DFA (veya otomat) kodu nasıl C ile kodlanır bunu içeren bir yazı eklemeye çalışacağım. Biraz detaylı olduğu için yeni bir yazı yazılması gerekiyor.
Başarılar
Bir aracın otopark ücretinin hesaplanması.
Araçların en fazla 24saat kaldığını varsayın.
0-2:5tl
2-8:10tl
8-24:20tl
Hocam bunun formunu acilen yazabilir misiniz lütfen 🙂
merhaba hocam structk yapısıyla ilgili bir sorum olacaktı
şimdi şadi hocam
Uzayda iki boyuttaki x ve y noktaları vardır.
a) iki noktadan geçen doğru denklemini ( y=mx+a ) bulan programı tasarlayınız.
b) Elimizdeki noktalardan dikdörtgen temsili olusturacak programı tasarlayınız.
c) İki dikdortgen kesişiyor mu? Kesişiyorsa kesişen alanı bulan programı tasarlayınız
İpucu:
…..
struct point {
int x;
int y;
};
struct point p1, p2;
p1.x=3;
p1.y=5;
p2.x=1;
p2.y=-2;
….hocam yardımcı olursanız sevinirim
hocam benimde bir sorum olacaktı
kişilerin adını tutan veri yapıları diye bi konudan bahsetti a
struct perseon {
char ad[30];
int yas;
};
struct person baskan;,
baskan.ad=’ahmet’;
baskan.yas=’50’
struct person*baba;( baskanın babasının bilgisi)
baskan.baba ->=’mustafa’;
baskan.baba->yas=50;
baskan.baba.baba->ad
bizden bu kişinin çocuklarını tutacak olan programı istiyo.hiç çocuğu olmayabilir ya da çok sayida çocuğu olabilir
yardımcı olur musunuz?
merhaba hocam virgülden sonra kaç basamak yuvarlamak istiyorsak o kadar yuvarlayan fonksiyon nasıl yazılır.
1)aşağı yuvarla;
2)yukarı yuvarla;
3)en yakınına yuvarlayan fonksiyonu yazınız.
yardımcı olursanız sevinirim.
Dizinin tersten sıralanmış hali kendisiyle aynı yani palindromsa true değilse false üreten programı yazınız.
Yardımınızı bekliyorum hocam.
hocam merhaba izninizle sizin eski bir öğrenciniz olarak handan arkadaşımızın sorusuna cevap vererek hem ona hemde size yardımcı olmak isterim.
Handan,Dizinin tersten sıralanmış hali kendisiyle aynı yani palindromsa true değilse false üreten programı yazınız sorunun cevabı;
teşkkür ederim gizem programda neden iki tane include kulandın ve kütüphanesini belirtmedin bide ikinci programdaki ilk if yapısının ne yaptığını anlamadım açıklama yaparsan sevinirim.
merhaba hocam pointerla fonksiyon arasındaki ilişkiyle ilgili bir sorum olucaktı.
örneğin elimizde bir merhaba stringi var fonksiyon yerel bir değişkenle set edilecek returnle değer döndürecek ana programda da merhabayı gösterecek program.
yardımınızı bekliyorum salı günü sınavım var sorular içinde boğulurken tesadüfen bu siteyi buldum öğrencilere olan yardımınız çok güzel biz yeni başlayanlar için bize yardım edecek birilerine ihtiyacımız var.
Eklediğim koddaki include ların biri stdio.h diğeri ise stdlib.h bu kütüphanenin kullanılmasının sebebi strlen gibi hazır fonksiyonların kullanılabilmesi.
ikinci if yapısı yani if (s[i]==s[strlen(s)-i-1]) bu satırda stringin uzunluğunu strlen ile okuyoruz ve kelime üzerinde bir eksilterek dolaşıp karşılaştırma yapıyoruz eğer karşılaştırdığımız harfler aynı ise true(palindromdur)diyoruz.
açıklaman için teşekkürler gizem.
Gizem Hanım,
Yardımınız için çok teşekkür ederim. Bu şekilde bir öğrencisinin yardımını almak bir hoca için değerli şeylerden birisi. Kodunuzu ayrıca aşağıdaki yazıya da ekledim:
http://www.bilgisayarkavramlari.com/2009/04/05/aks-i-mufret-palindrome/
Başarılar
Hocam 5. soruyu bir türlü C# a uyarlıyamadım.
Yardımlarınızı bekliyorum.
Teşekkürler.
Hakan Bey,5.sorunun C# Diline uyarlaması şu şekildedir.
Fonksiyonu yazmadım.Fonksiyonu yazıp çalıştırabilirsiniz.Eğer bir sorunuz olursa tekrar paylaşınız
Allah razı olsun hocam.
Çok Teşekkürler.
Hocam sıkıntıyı fonksiyonda yaşadım aslında.
Rica etsem onuda yazabilir misiniz ?
Cem Beyin de belirttiği üzere (kendisine buradan teşekkürü bir borç bilirim) fonksiyonu aynen C# dilinde yazabilirsiniz. Bu sorunun çözümünde verilen fonksiyon C#, JAVA, C++ veya C dillerinde aynıdır, bir değişiklik yapılmadan aynen diğer dillerde yazılabilir. Şayet bir hata alıyorsanız hata mesajınızı yazmanız durumunda yardımcı olmaya çalışalım.
sorunun çözümünde int min parantezinin içindeki int tanımlamalarını c# kabul etmiyo.
lütfen çalışır halini (programın tamamını)yazar mısınız..
ne yazık ki şu anda csharp kurulu bilgisayar elimin altında yok. Ancak tahminen csharp min kelimesini beğenmiyor olabilir, belki reserved keyworddür. o yüzden farklı bir isim vermekte yarar var. Kabaca aşağıdaki şekilde olacak, deneyerek çalıştırın ve aldığınız hatayı yazın yardımcı olmaya çalışayım.
hocam yukarıda cem beyin yazdığı for döngülerinin içindekiler for (int i = 1; i <= Boyut; i++)
i <= olan kısım ne tam olarak ?
yazımda hata mı var acaba ?
bir de bu int içinde int hangi konuya ait oluyor ?
teşekkürler.
hocam yazdıklarını denedim..
c ve d nin altını çiziyo.
şu satırda :
Console.WriteLine(asg(a,b,c,d));
Console.ReadLine();
Hakan Bey;
Sanırım temel konular ile ilgili eksiğiniz bulunuyor. Öncelikle döngü yazmayı ve kontrol koşulları yazmayı öğrenmeniz gerekir.
Cem Beyin yazdığı kısımda bulunan i< = ifadesi, döngü değişkeni olan i değişkeninin verilen Boyut değişkeninden küçük veya eşit olduğu sürece döneceği anlamına gelir. Aşağıdaki yazılara bakmanızda yarar olabilir: http://www.bilgisayarkavramlari.com/2009/11/11/c-dilinde-dongu-ornekleri/
http://www.bilgisayarkavramlari.com/2009/11/02/ic-ice-donguler-nested-loops/
Şadi hocam teşekkürler.
Yalnız orda <= ifadesi yukarıda başka karakterler görünüyor da.
Mesajı gönderince düzgün göründü.
<= ifadesi &;= olarak görünüyor yukarıda.
Anladım, kodları geçirirken sistemde hata olabiliyor, uyarınız için çok teşekkürler, ilgili mesajdaki hatayı düzeltiyorum.
Başarılar
Şayet yukarıdaki şekilde benim yazdığım fonksiyonu kullanacaksanız, aşağıdaki şekilde main içerisinden çağırmanız gerekiyor:
Hocam şöyle yazdım;
------------------
2 tane hata verdi.
Error 2 An object reference is required for the non-static field, method, or property 'ConsoleApplication8.Program.asg(int, int, int, int)'
Error 1 'ConsoleApplication8.Program.asg(int, int, int, int)': not all code paths return a value
İyi Günler Hakan Bey öncelikle fonksiyonu public static int asg(int a,int b,int c,int d){}; olarak tanımlamanız gerek.Böyle bir tanımlama yapmamızın nedeni public static terimi ile fonksiyonu kullanabilmek ikinci olarak bir adet else komutu eklemeniz gerekmekteki kodun dallanabileceği her hangi bir yerden mutlaka bir dönüş değeri olsun yani;
if (a < b && a < c && a < d)
return a;
else if (b < a && b < c && b < d)
return b;
else if (c < a && c < b && c < d)
return c;
else
return d;
şeklinde.
umarım faydası olur iyi günler
Değiştirdim dediğiniz şekilde.
Ama yine sorun var.Hata çıkmadı ama doğru çalışmıyor program.
51111
14221
12321
14221
51111
olarak çıktı veriyor.Aslında çıktılarda bu şekilde değil.
hepsini alt alta yazıyor.ben bu not defterinde böyle yazdım.
4 ler 5 ler hatalı.onun dışında doğru çalışıyor.
İyi günler hakan bey programın tam kodunu atıyorum sanırım bir yerlerde yanlışlık yapıyorsunuz
Not:Yanyana yazdırmıyor fakat işlemler doğru 8 yazıp kontrol edebilirsiniz.
Çok teşekkürler.
Yan yana yazdırmaya çalışıcam.Siz yaparsanız paylaşır mısınız ?
Hocam uğraştım ama yapamadım.
Alt alta yazdırmayı da zahmet olmazsa paylaşabilirmsiniz ?
Yukarıdaki kodda bulunan 29. satırı aşağıdaki şekilde değiştirin:
merhaba hocam c program sorusu var yardimci olursaniz sevinirim.
bir salyangoz v metre yukseklige tirmanmak istemektedir. bir gunde a metre yukari cikiyor aksamlari ise b metre asagi kayiyor. buna gore en uste cikmasi icin kac gune ihtuyaci olmasi gerektigini bulan program yaziniz.
ornek
girdi=2 1 5 cikti=4
Çok merak ettim nerede sorulmuş bu soru?
Basitçe 3 değişkene değer okuyup v/(a-b) işleminin sonucunu bastırmanız yeterli.
Başarılar
hocam farkettiyseniz sizin islema gore 2 1 5 girdileri icin cevap 5 cikiyor cevap 4 olmasi lazim. yani salyangoz 4. gun 5 metreye ulasiyor 1 metre geriye gitmesi mantiksiz olur.
Şu halde, her durumda son gün geri gitmeyecek kabul ediyorsak işlemden 1 gün çıkarmanız gerekir.
v/(a-b) – 1
olacaktır. Şayet ondalıklı sayıları da işin içine katmak isterseniz o zaman da bu formülü yukarı yuvarlamanız gerekir (tavan, ceiling).
ceil(v/(a-b) – 1)
Başarılar
hocam bu isleminiz 2 1 5 icin dogru ama 5 1 6 icin yada baska girdiler icin yanlis.
5 1 6 için hata nedir? Kusurlu bir sayı çıkıyor yani bittiği gün tam ulaşmıyor durumu ilk sorunuzda yoktu. Bu durumda size verdiğim ilk formül değil ikinciyi kullanmak gerekiyor, zaten ilk formül tam sayı durumunda hep doğru çalışıyor.
ikinci formülü çok test edemedim sanırım oradaki -1 hata sebebi oluyor onu kaldırısak da çalışıyor? Yani aşağıdaki şekilde:
ceil(v/(a-b))
Sizin örneğinizde ceil(6/4) = ceil(1,25) = 2 olacak zaten 5 1 6 işleminde sonuç da 2 çıkmalı (ilk gün 4 gidiyor sonraki gün bitiyor)
Soru ile ilgili sorun şu, soru ilk başta iterasyon sorusu gibi sorulmuş yani sanki döngü konusu hedeflenmiş ama sorunun çözümü her durumda bir işlem ile mümkün yani basit bir scanf printf ile ve belki bir tane de if kontrolü ile çözülebilir. Bilmiyorum belki son yazdığım işlemde de hata olabilir ama biraz uğraşın ve eminim tek bir işlem ile sonucu bulacaksınız. Soruda iki kritik nokta var birisi formül diğeri son gün, formül için sanırım son yazdığım çalışaak, son gün için ise if kontrolü yapıp -1 çıkarmanız gerekebilir hepsi bu. Siz son haline bir bakın, formülü ve koşulu gerekiyorsa güncelleyin, yine başka örneklerde hata veriyorsa buraya yazın onlara da bakar formülü güncelleriz.
Başarılar
* Girilen üç sayıdan en büyüğünü bulan algoritmayı yazınız.
* Tamsayılarda üs alma işlemini gerçekleştiren algoritmayı yazınız ( ab ).
* 1-100 arasında tutulan bir sayıyı tahmin eden algoritmayı yazınız.
hocam bu üç sorunun cevabını alabilirmiyim acilen lazım şimdiden tşk ederim ( ben daha yeniyim ve ödev verdi hocamız kaç gündür ugraşıyorm ama yapamadım )
Klavyeden girilen 10’luk tabandaki bir tamsayıyı 2’lik tabana çeviren ve ekrana yazan ve aşağıdaki örnek çıktıya uygun
Algoritma adımlarını yazınız
Yukarıdaki yorumlar arasında, zaten istediğiniz kod bulunuyor:
http://www.bilgisayarkavramlari.com/2010/01/13/c-ile-programlamaya-giris-quiz-sorulari-ve-cozumleri/#comment-65170
Başarılar
merhabalar bir sorum olacaktı.umarım çabuk cevap verebilirsiniz.örnek çıktısını yazıyorum ve fonksiyonlarla çözülmesi gereken bir soru.şimdiden teşekkür ederim.
153 1’n küpü+5’n küpü+3’n küpü=153 narsist sayıdır
1634 1’n dördüncü kuvveti+6’nın dördüncü kuvveti+3’n dördüncü kuvveti+4’n dördüncü kuvveti=1634 narsist sayıdır
hocam mrb rahatsız edıyorum ama bu soru benm ıcın cok önemli acaba sorumu acıklarmısınız cok ihtiyacım var bu soruya birmiliyondan küçük sayıları okuyup yazdıran programı yanıtlaya bilirmisiniz lütfen
hocam yukarda bi string içindeki boşlukları silen kodda hata var belirteyim dedim belki üstünden geçen arkadaşlar olur. dalgınlığınıza gelmiş sanırım kaydırmayı yanlış kodlamışsınız 🙂
hocam merhaba ben elektrık elektronık 1. sınıf ogrencısıyım proglamlama ve meslekı yazılım dersımızden haftaya sınavımız var sıze 3. sorum olacak yardımcı olursanız cok sevınırım.
1.sorum bankaların ınternet sıtesının calısma prensıbı gırdıgımız 6 hanelı banka numaramızın basamak sayılarına gore 1 ve 2 ile çarparak topluyor bu ıslemı yaparken 6 hanelı numaramızın 1 ler basamagındakı rakam dahıl edılmıyor eger buldugu sonucun son rakamıyla bızım banka hesap numaramızın son rakamı uyusuyorsa sıfre dogrudur degılse sıfreyı kontrol edınız.
2. sorum x-x(kare)/2+x(küp)/3-x(üzeri 4)/4……. bu dızı ıslemını yapan bır program yazınız
3. sorumsa bır sayı gırınız bu sayının asal olup olmadını kontrol eden bır program yazınız eger 0 gırılırse program sonlanacak. sorularım bunlar yardımcı olursanız gercekten cok sevınırım hocam. sımdıden tesekkur ederım
klavyeden 2 nokta girilmesi isteniyor ve bu iki noktadan bir doğru geçip geçemeyeceği sorgulanmalı ve eğer doğru geçebiliyorsa bu doğrunun denklemini yazdırmalı. Noktalar aynı olmadığı sürece her iki noktadan doğru geçebilir .if kullanarak noktalar birbirine eşit değilken denklem yazdırabilirz fakat bu durumda iki boyutlu array kullanmalıyız sanırım. mesela array[i][j] şeklnde klavyeden isteyeblrz ama bu durumda if in içinde karşılaştrmayı nasıl yapacağz? while ile de yapabilirz aynı işlemi sanırım. fakat karşılaştırma olayı nasıl olacak? yardmcı olursanız sevinirim
x-x^2/2!+x^3/3!-x^4/4!+…+x^n/n! bunun c dilinde yazılması isteniyor.(fonksiyon yardımıyla) n dısarıdan girilecek yardımcı olursanız gerçekten cok sevinirim.
25 basamak ve üzeri sayılarda toplama işlemi nasıl yapılır? (DİZİLERE ATILARAK)
Öncelikle sayıyı nasıl okuyacağımız sorunu var. Bunun için dizgiler (string) kullanılabilir.
Yukarıdaki kodda, basitçe iki dizgi (String) tanımlayarak bunların içerisine klavyeden girilen sayıları okuduk. Şimdi bu sayıları toplamaya başlayabiliriz. Ancak dikkat edilecek husus sayıların boyutları kadar toplamaktır. Bir de sayıların toplanması sırasında elde var (carry) değeri oluşacak. Bu değerin bir sonraki haneye atılması gerekir. Aslında bu işlem toplanırken yapılabilir yani tek geçişte çalıştırmak mümkün ama ben biraz kolaya kaçıp (emin olun burada yazarak anlatmaya kalksam çok karışacak) toplamak için bir döngü ve sonra da bu elde var değerleri için ikinci bir döngü yazacağım. Önce toplamayı yapalım:
Yukarıda herhane kendi değeri ile toplandı. Şimdi elde var değerleri ile uğraşabiliriz. Ancak bundan hemen önce ascii tablosuna bir göz atmamız gerekiyor.
http://www.bilgisayarkavramlari.com/2009/09/04/ascii-tablosu/
Görüleceği üzere, sayı değerleri 48 ile 57 arasındadır. Yani 48 ascii değeri aslında 0, 57 ise 9 sayısı olarak kabul edilmektedir.
Şimdiki toplama işleminden sonra bazı değerler 57'den büyük olacaktır. Yapmamız gereken işlem basitçe mod ve bölümdür.
Anlaşılması için örnek üzerinden anlatayım. Mesela toplanan iki değer 9+9 olsun. Bu durumda ascii değerleri 57 + 57 olacaktır. Yani toplam 114 olacaktır. Bizim yapacağımız ise sayının 57 üzerinde olması halinde sayıyı düzeltmektir çünkü bu sayılar ascii tablosunda rakama karşılık gelmez. Örneğin üzerinden gidecek olursak 114, r harfine karşılık gelir ki bunun toplamada bir anlamı yoktur.
Çözüm olarak sayıyı önce 58'e bölüyoruz çıkan sonuç elde var değeridir. Yani 114/58 = 1 olacağı için elde var 1 diyebiliriz. Bu değer bir yandaki haneye eklenecek bunu bir kenarda tutalım. Şu anda uğraştığımız hanenin değeri ise mod ile bulunur. 114 % 58 = 56 olacaktır. Gerçekten de 56 değeri ascii tablosunda 8 rakamına karşılık gelmektedir. O halde bu haneye 56 yazıp yan haneye 1 ekliyoruz (aslında 1 değil de 1 + 48 çünkü ascii çevirimi yapılmalı). Ancak ben basit olsun diye sayıları önce onluk tabana çevirip sonra toplama işlemi yapacağım. Kısaca %48 alınınca sayılar 0 ile 10 arasındaki değerlerine düşerler. Burada toplama yapıp çıkan sonucu tekrar ascii karşılığına çevirelim.
Kodu revize edecek olursak:
Görüldüğü üzere ilksayi ve ikincisayi değişkenlerindeki değerleri topluyoruz, sonuçta çıkan değerin 10'a bölümünü ise bir sonraki haneye ilave ediyoruz. Şayet sayı 0 ile 10 arasındaysa zaten bölüm 0 olacağı için eklenecek birşey yok demektir. Ayrıca %10 ile de kalan haneyi tutuyoruz.
Son olarak da sayıya 48 ilave ederek sayının değerini ascii tablosunda anlamlı bir hale getiriyoruz.
Buraya kadar herşeyi anladıysak yeni bir problemimiz daha var onu da çözelim. Şimdiye kadar hep dizgileri kullandık ama dizginin ekrana basılması için dizgi sonu (end of string) karakteri önemlidir. Bu karakter şeklinde gösterilir ve şayet bu karakteri bozarsak yanlış bir şekilde ekrana dizginin hiç işlenmeyen karakterleri de basılır. Bunu engellemek için dizgimizin boyutunu ilk başta hesaplayıp ancak bu kadar karakter basılmasını sağlamalıyız.
Dizgi boyutu için string.h kütüphanesinden strlen fonksiyonunu kullanacağım.
Kodun 12. satırında uzunluğu hesaplayarak, 23. satırında bu uzunluk değerindeki karakteri olarak atıyoruz. Bu durumda toplama işlemi sırasında dizgi sonu (end of string) karakterini yanlışlıkla bozarsak geri düzeltmiş oluyoruz.
Görüldüğü üzere toplama işlemimiz başarılı bir şekilde sonlanmaktadır. Ben sorunuza cevap vermeyi burada kesiyorum. Ancak koda, sınır durum kontrollerinin (boundary conditions) eklenmesi ve ayrıca uzunluğu farklı sayılar için de kontroller eklenmesi gerekir. Sanırım mantığını anlatmak için buraya kadar olan kısmı yeterlidir.
Başarılar
1-)Bir cümlede gecen rakamların toplamını bulan program..!
//bügün 15 mart 2013 Cuma 1+5+2+0+1+3=?
2-)klavyeden istenilen sayıda telefon numarası gırılıyor 505 ile başlayan telefonların listesini ekrana yazan program
3-)sayılardan bir oluşan bir dizinin içersindeki tek sayıları yeni bir teksayılar dizisine, cift sayıları yeni bir cift sayılar dizisine aktarıp
Ekranda listeleyen program.
hocam şu soruların cevaplarını bulursanız cok sevinirim.
HOCAM ODEV CUMA GUNUNE KADARDA OZAMNA KADAR COZSENIZ COK MAKBULE GECER
benm bı ödevm vardı acaba yardmcı olurmusunuz bir türlü yapamadım
bir dizideki asal sayıları başka bir diziye atayan sınıf yapısı (üye fonksiyon zorunlu )
c++ da
ya lütfen cevap verin
Arkadaşlar, ödev veya ödev olması muhtemel soruları, site üzerinde sorulduktan en az 3-4 ay sonra cevaplıyorum. Bunun sebebi bu sitenin veya herhangi başka bir sitenin, sizin gelişiminiz için size verilen ödevleri çözdürme yeri olmamasıdır.
Size verilen ödevleri çözerek sitede yayınlamak bana hiçbirşey kazandırmayacağı gibi sizlere çok şeyi kaybettirebilir.
Ancak, ödevinde belirli bir yere gelmiş, gerçekten emek harcayarak takıldığı yeri soran, çeşitli imkansızlıklar dolayısıyla kimseden yardım bulamamış sorulara yardım etmeye çalışıyorum. Kaynak isteyenlere kaynak göstermeye, kodunda problem yaşayanlara yardım etmeye çalışıyorum.
Bu mesajı sizlerin soruları üzerine yazdım ancak genel bir durum. Sizlerin durumunuzda şayet çalışmalarınızı ve takıldığınız yerleri yollarsanız, takıldığınız noktadan bir adım ileriye gitmenize seve seve yardımcı olurum. Şayet çözümü konusunda sorularınız varsa, bu durumda da ileride bana hatırlatmanız halinde çözerek bu soruların cevaplarını yayınlarım.
Dikkat edilmesi gereken diğer bir husus da (sizin durumunuz ile ilgili değil ama genelde yaşanması muhtemel olduğu için), bu ödev ve projeleri veren öğretim üyelerinin tasarrufudur. Bu sitedeki çözümler sadece beni bağlar ve kişisel yorumlarımdan ibarettir. Herhangi bir şekilde, herhangi bir dersteki notunuz, öğretim üyesinin değerlendirmesine itirazda temel teşkil etmesi uygun değildir. Her ders ve her notlama kendi içerisinde ilgili öğretim üyesi veya asistan tarafından değerlendirilir.
Sorularınızı ileride cevaplandırma üzere kaydettim, dönem sonunda sırasıyla daha önceki soruları cevapladığım gibi sizin sorularınızı da cevaplayacağım.
Emin olun, bu siteyi yaparken de, ödevlerinizi ve projelerinizi tarihinden önce çözmeyerek de sizlerin iyiliğinizi düşünüyorum.
Başarılar
EN AZINDAN NASIL YAPACAGIM HAKKINDA FİKİR VEREBİLİRMİSİNİZ KENDİM YAPMAK İSTİYORUM DA EN AZINDAN DİZİYİ NASIL oluşturabilirim sınıf yapısında
Tabi, hemen cevap verelim.
Nesne dizilerinin anlatıldığı yazı aşağıda:
http://www.bilgisayarkavramlari.com/2012/03/14/object-array-nesne-dizisi/
Ayrıca C++ diliyle nesne dizilerinin kullanımına güzel bir örnek, aşağıdaki soru çözümünde yer alıyor:
http://www.bilgisayarkavramlari.com/2010/12/07/nesne-yonelimli-programlama-dersi-quiz-cozumu/
Ayrıca asal sayıların bulunması ile ilgili kod bu sayfada, yukarıdaki yorumlar arasında yer alıyor.
Bunlara bakın, sorunuzu çözmek için yeterli bilgiyi içeriyorlar. Yine de takıldığınız bir yer olursa sorabilirsiniz, yardımcı olmaya çalışırım. Ancak sormadan önce biraz kodlama denemenizde yarar var. Mesela bu yazılardaki kodları yazıp nasıl çalıştıklarını anlayıp birbiri ile entegre etmek güzel bir başlangıç olabilir.
Başarılar
Hocam bende istatistik öğrencisiyim verilen bir matrisin 1/2 üssünü veren program ı for döngüsüyle nasıl yazabiliriz
Şimdi bu soru biraz dikkat gerektiriyor. 1/2 üssü demek aslında karekökü demek. Amacınız matrisin çarpanlara ayrılması doğru mudur? Yani A = B x B şeklinde A matrisinin iki adet eşit matrisin çarpımı şeklinde yazmak istiyorsunuz anladığım kadarıyla?
Bunun için farklı yöntemler bulunuyor, köşegenleştirme (diagonalization) veya jordan decompositon (jordan ayrıştırması) veya denman-beavers iterasyonu veya newton yöntemi gibi yöntemler kullanılabilir.
Vakit bulursam yöntemlerin detaylarını ve nasıl çalıştıklarını ayrıca bir yazıda açıklamaya çalışırım. Yine de kodlamada takıldığınız noktalar olursa ve bunları sorarsanız sanırım daha hızlı yardımcı olabilirim.
Başarılar
ÇOK TESEKKUR EDERIM HOCAM
ya arkadaşları 24 haneli bir sayının 3 er 3 er ayırarak okunuşunu bulan c++ kodunu nasıl yazabilirz :/ bana yardım edebilecek olan varmı diziler kullanarak yapmak istiyorum./
klavyeden girilen en fazla 24 haneli sayını okunuşunu ekrana yazdıran c++ prog.için yardımcı olur musunuz lütfen çok acil
Hocam istatistik öğrencisiyim vizeye çalışıyorum 1 sorunun çözümü yok bana yardımcı olabilir misiniz ?
soru şöyle : θ=3 olan üstel dağılımdan 200 tane sayı üretip ürettigi sayıları kücükten büyüğe sıralayan program nasıl oluyo ?
-log(1-i/n+1)=bx(i)+εi modelinin parametresini tahmin ediniz diye devam ediyor soru yardımcı olursanız sevinirim hocam
merhaba hocam,getch() fonksiyonunu kullanmadan kullanıcının girdiği karakteri entersız nasıl okuyabiliriz..
Tam olarak amacınız nedir bilmiyorum ancak alternatif olarak getchar() fonksiyonunu kullanabilirsiniz.
Hocam bir ödevim var.Ama bu ödev C # ‘da konsol uygulamasından yapılacak.Soru şu hocam : 5 sayının ortancasını bulan C# programı.Hocam lütfen yardımcı olur musunuz?
iyi günler kafama takılan bir sorum vardı. Tamsayılardan oluşan n elemanlı bir dizinin en büyük değeri ile en küçük değerini ekranda yazdıran kodu pointer kullanarak yazınız.en buyuk ve en küçük elemanı bulduruyorum ama pointerla nasıl yapabilir ki?
arkadaşlar bana yardımcı olabilir misiniz ? Klavyeden girilen bir 4×4’lük matrisin diagonal elemanlarının toplamlarını ve aritmetik ortalamalarını bulup ekrana yazdıran programı yazınız. bu program hakkında.( şimdi iç içe iki for döngüsü kuruyorsun; en içteki döngüde i ve j’nin eşit olduğu durumlarda ilgili dizi elemanını toplam diye bir değişken üzerinden toplayıp gidiyorsun ) bu şekilde yapılacakmış..
hocam benim de sorum şu: text file oluşturulurak kullanıcıdan alınan textin içeriğindeki her harften kaç tane olduğunu ve en çok frekansa sahip olanın en başta sergilendiği programı yazabilir miyiz?
merhaba arkadaşlar bu soruda bana yardımcı olur musunuz ? “Sinif” isminde bir fonksiyon yazın. Bu fonksiyon bir öğrencinin ortalama notunu alsın ve bu not 90-100 arasında ise 4, 80-89 arasında ise 3, 70-79 arasında ise 2, 60-69 arasında ise 1 ve 60’ın altında ise 0 döndürsün.
1) klavyeden arka arkaya sayılar girilecek her girilen sayı enter ile onaylanacak girilen sayıların toplamı 2000 ulaştığında program duracak ve girilen sayı adedini,sayıların toplamını ve ortalamasını hespalayacak program (while döngüsüyle yapılışı)
2) klavyeden bir cümle girilecek noktaya basıldığı an algılancak ve girilen cümle ekranda gösterilecek program
3) klavyeden 0 basılıncaya kadar sayı girilecek 0 basıldığında duracak program
Yardımcı olurmusunuz çok acil lütfen.
Hocam 5.soruda verdiğiniz bir string içindeki en uzun kelimeyi bulmayı kodlamışsınız, ben en kısa kelimeyi bulmak için uğraştım ama sorunlar çıktı anlatabilir misiniz?
verilen bir tamsayının 1 ve kendisi dışındaki çarpanlarını görüntüleyen programın algoritması ve akış diyagramı ??
Merhabalar hocam benim bir sorum var 2boyutlu dizide kare sifreleme yapmam gerekli. Bu
şifreleme yönteminde şifrelenecek metin içerisindeki boşluklar çıkarılarak soldan
sağa doğru bir dikdörtgen içerisine yerleştirilecek ve daha sonra bu dikdörtgen
içerisindeki metinler yukarıdan aşağıya doğru yazılarak şifrelenmek istenen metin
şifrelenmiş olup bunu ekrana yazdırmak gerekiyor. ben aslında koda başladım ama kod çıktısını alamıyorum yardımcı olursanız çok sevinirim. Yazdığım kod :
Serdar Bey 5 Sayının ortancasını bulan kodu sormuş. Ortanca (median) basitçe bir dizi sıralandıktan sonra ortada kalan sayıdır. Bunun için sıralama algoritmalarından birisini kullanarak ortadaki elemanı bastırmak yeterlidir. 5 sayı olduğu biliniyorsa çözüm 3. elemanı yani dizinin 2. indesindeki değeri bastırmaktır. Sayıların sıralanması için aşağıdaki yazıya bakabilirsiniz:
http://bilgisayarkavramlari.sadievrenseker.com/2008/08/09/siralama-algoritmalari-sorting-algorithms/
Hüseyin bey şu soruyu sormuş:
“Tamsayılardan oluşan n elemanlı bir dizinin en büyük değeri ile en küçük değerini ekranda yazdıran kodu pointer kullanarak yazınız”
Bu tip sorulardaki amaç sizin pointer kullanma yeteneklerinizi geliştirmektir. Öncelikle aşağıdaki yazıya bakabilirsiniz:
http://bilgisayarkavramlari.sadievrenseker.com/2007/10/16/pointer-gosterici-2/
En küçük ve en büyük sayıları bulmak için aşağıdaki şekilde bir kod yazılabilir. Ben en büyüğü bulan kodu yazıyorum bunu basitçe en küçüğe siz çevirebilirsiniz.
Kodu derleyip deneyemedim ama çalışması gerekir diye düşünüyorum.
Yeşim Hanım şu soruyu sormuş:klavyeden girilen bir 4×4’lük matrisin diagonal elemanlarının toplamlarını ve aritmetik ortalamalarını bulup ekrana yazdıran programı yazınız.
Şablon olarak derslerde anlatıldığı için 2 boyutlu matrislerin bütün elemanlarını gezen kodu yazıp, istenen işlemi yapan kodu iç içe (nested) döngüye yerleştiriyorum. (sorunun açıklamasında buna benzer bir ibare vardı).
veya alternatif olarak aşağıdaki şekilde yazılması daha doğrudur.
Kodları derleyip deneyemedim ama çalışması gerekir diye düşünüyorum.
Buşra Hanım şu soruyu sormuş:
text file oluşturulurak kullanıcıdan alınan textin içeriğindeki her harften kaç tane olduğunu ve en çok frekansa sahip olanın en başta sergilendiği programı yazabilir miyiz?
Sorunuz aslında tam olarak şifreleme konusu altındaki frekans saldırısına (veya frekans analizine) işaret ediyor. Bu konu başlığına aşağıdaki bağlantıdan ulaşabilirsiniz. Yazıda kod yoktu birazdan frekans analizi için bir kod yazıp ilgili yazıya eklerim:
Veri Güvenliğinde Frekans Analizi (cryptoanalysis)
Evet kısaca sorulan sorulara cevap yazmaya çalışıyorum. Ancak genelde soruların ödev, proje gibi not karşılığı olma ihtimaline karşılık üzerinden berlili bir süre geçmesini bekliyorum. Yukarıdaki sorulardan geçen ay sorulan sorulara kadar çözümlerini yazıp sitede yayınladım, yeni soruların biraz daha beklemesi gerekecek, yine vakit bulunca ve üzerinden yeterli süre geçtikten sonra yeni soruları da cevaplamaya çalışacağım.
Hocam Merhaba benim çemberin yarıçapını ve merkezini bulmam lazım Çemberimin üç noktası bulunuyor ama formüle uyarlayamadım yardım eder misiniz?
Formül:x kare+ ykare+dx+ey+f
ya da çember tanımından bir noktaya eşit uzaklıktaki noktalar kümesi dolayısıyla iki nokta arasındaki uzaklıktan bulunacak nasıl olabilir
Çemberin üç noktası biliniyor demek istemiştim Mesela (4,0) (0,4) (2,7) gibi üç nokta biliniyor yarıçapı ve merkezi bulmam lazım
Sorunuzdan anladığım kadarıyla çember üzerindeki 3 nokta verildiğinde merkezini bulmanız.
Sorunun matematiksel çözümünü vereceğim ve kodlamayı bundan sonra rahatlıkla yapabilirsiniz.
(a,b) şeklinde bir noktanın merkez olduğunu kabul edelim. Bu durumda çemberin formülü aşağıdaki şekilde olacaktır:
(x-a)2 + (y-b)2 = r2
elimizdeki 3 noktanın ise aşağıdaki eşitlikleri sağlaması gerekecektir (noktaları (x1,y1), (x2,y2), (x3,y3) şeklinde 3 noktanın korrdinatı olarak kabul ediyorum :
(x1-a)2 + (y1-b)2 = r2
(x2-a)2 + (y2-b)2 = r2
(x3-a)2 + (y3-b)2 = r2
bu durumda denklem kümemizdd 3 bilinmeyen bulunuyor ve bunlar a,b ve r değeleridir. Aynı zamanda elimizde de 3 adet denklem bulunuyor.
3 bilinmeyenli 3 denklemimiz var ve bunları çözmeye çalışalım. Ancak denklemleri yukarıdaki şekilde ele alırsanız 2. dereceden oldukları için bir doğrusal denklem (linear equation) şeklinde çözümde problem olabilir.
Bu yüzden ilk denklemi diğer iki denklemden çıkararak işlem yapalım:
(x2-a)2 + (y2-b)2 = r2
– (x1-a)2 + (y1-b)2 = r2
=
(x1-a)2 + (y1-b)2 = (x1-a)2 + (y1-b)2
ve
(x3-a)2 + (y3-b)2 = r2
– (x1-a)2 + (y1-b)2 = r2
=
(x3-a)2 + (y3-b)2 – (x1-a)2 + (y1-b)2
olarak iki yeni denklem bulunacaktır. Aynı zamanda r değerini de aşağıdaki şekilde ifade edebiliriz:
r = sqrt[(x1-a)2+(y1-b)^2]
r = sqrt[(x2-a)2+(y2-b)^2]
r = sqrt[(x3-a)2+(y3-b)^2]
Bu denklemleri aşağıdaki şekilde düzenleyebiliriz:
Sizin örnek olarak verdiğiniz (4,0) (0,4) (2,7) noktalarını ele alırsak aşağıdaki şekilde çözüm elde edilebilir:
(a-4)2 + (b-0)2 = r2
(a-0)2 + (b-4)2 = r2
(a-2)2 + (b-7)2 = r2
Çözümde anlatıldığı gibi ilk satırı ikinci ve üçüncü satırlardan çıkarırsak aşağıdaki gibi bir durum olacaktır:
(a-0)2 + (b-4)2 – (a-4)2 – (b-0)2 = 0
(a-2)2 + (b-7)2 – (a-4)2 – (b-0)2 = 0
Yukarıdaki denklemlerde bulunan parantezler açıldığında:
a2 + b2 – 8b + 16 – a2 + 8a – 16 – b2 = 0
ve
a2 – 4a + 4 + b2 – 14b + 49 – a2 + 8a – 16 – b2 = 0
denklemleri bulunacaktır. Denklemleri sadeleştirirsek aşağıdaki şekli alırlar:
8a – 8b = 0
4a – 14b + 37 = 0
yukarıdaki denklemlerde ilkine göre a = b olacak ve ikincisine göre de
a = b = -37/10 olarak bulunacaktır. Demek ki çemberin merkezi (-3.7, -3.7) noktasında yer alacaktır.
Yarı çapı da artık hesaplayabiliriz. İlk denklemimizden çözümü yapalım:
(a+4)2 + (b+0)2 = r2
(-3.7+4)2 + (-3.7+0)2 = r2
r = sqrt (0.84 + 9.50) = sqrt ( 10.34 ) = 3.71 olarak bulunur.
Bu değeri diğer bir denklemde deneyerek sağlamasını yapabiliriz. İkinci noktanın denklemi aşağıdaki şekildeydi
(a+0)2 + (b+4)2 = r2
olacağını ikinci noktanın denkleminden biliyoruz. O halde
(-3.7+0)2 + (-3.7+4)2 = 3.712
olması gerekir. Çözüldüğünde doğru olduğu görülecektir.
Üçüncü nokta için de sağlama yapalım:
(-3.7+2)2 + (-3.7+7)2 = 3.712
r = sqrt(2.89 + 10.89 ) = 3.71 olarak bulunacaktır.
Sağlamalarımızdan sonra da kesin olarak emin olduk ki bu üç nokta çemberin üzerindedir. Demek ki sizin verdiğiniz 3 noktanın üzerinden geçen çember aşağıdaki formüldeki gibi yazılabilir:
(x-3.7)2 + (y-3.7)2 = 3.712
Hocam bi sorum olacak soruyu aynen yazıyorum;
bu sirala(int sayi) fonksiyonunu kullanıcıdan sayı degişkenlerine gelen değer kadar sayıyı alıp bu sayıyı sıraladıktan sonra diziyi geriye döndüren fonksiyondur. Altta yazıcam fonksiyonudaki eksik kodları tamamlayınız(for döngüsü,ConvertTo32(),Console.ReadLine ile)
Hakan Bey, sıralama fonksiyonunun prototipi verilip sizden içini yazmanız istenmiş. Aşağıdaki bağlantıda çok sayıda sıralama algoritması ve kodları bulunuyor, bunlardan faydalanabilirsiniz:
http://bilgisayarkavramlari.sadievrenseker.com/2008/08/09/siralama-algoritmalari-sorting-algorithms/
Başarılar
Hocam Merhaba kodu oluşturdum fakat ikinci kez determinant alırken yanlış hesaplıyor hatamı göremedim yardımcı olur musunuz?
#include
#include
#include
#include
using namespace std;
int main(){
int x1,x2,x3;
cout<<"xleri girin"<>x1;
cin>>x2;
cin>>x3;
int y1,y2,y3;
cout<<"yleri girin"<>y1;
cin>>y2;
cin>>y3;
cout<<"x1ve x1 nin kare toplamı"<<x1*x1+y1*y1<<endl;
cout<<"x2 ve x2 nin kare toplamı"<<x2*x2+y2*y2<<endl;
cout<<"x3 ve x3 nin kare toplamı"<<x3*x3+y3*y3<<endl;
int a[3][3],i,j;
long determinant;
cout<<"Enter the 9 elements of matrix:"<<endl;;
for(i=0;i<3;i++)
for(j=0;j>a[i][j];
cout<<"\nThe matrix is\n"<<endl;
for(i=0;i<3;i++){
cout<<"\n";
for(j=0;j<3;j++)
cout<<a[i][j];
}
determinant = a[0][0]*((a[1][1]*a[2][2]) – (a[2][1]*a[1][2])) -a[0][1]*(a[1][0]*a[2][2] – a[2][0]*a[1][2]) + a[0][2]*(a[1][0]*a[2][1] – a[2][0]*a[1][1]);
cout<<"determinant"<<determinant<<endl;
int b[3][3],k,l;
long determinant2;
cout<<"Enter the 9 elements of matrix: "<<endl;
for(k=0;k<3;k++)
for(l=0;l>b[k][l];
cout<<"\nThe matrix is\n"<<endl;
for(k=0;k<3;k++){
cout<<"\n";
for(l=0;l<3;l++)
cout<<b[k][l];
}
determinant2 = b[0][0]*((b[1][1]*b[2][2]) – (b[2][1]*b[1][2])) -b[0][1]*(b[1][0]*b[2][2] – b[2][0]*b[1][2]) + b[0][2]*(b[1][0]*b[2][1] – b[2][0]*b[1][1]);
cout<<"determinant 2"<<determinant2<<endl;
int c[3][3],n,o;
long determinant3;
cout<<"Enter the 9 elements of matrix: "<<endl;
for(n=0;n<3;n++)
for(o=0;o>c[n][o];
cout<<"\nThe matrix is\n"<<endl;
for(n=0;n<3;n++){
cout<<"\n";
for(o=0;o<3;o++)
cout<<c[n][o];
}
determinant3 = c[0][0]*((c[1][1]*c[2][2]) – (c[2][1]*c[1][2])) -c[0][1]*(c[1][0]*c[2][2] – c[2][0]*c[1][2]) + c[0][2]*(c[1][0]*c[2][1] – c[2][0]*c[1][1]);
cout<<"determinant3"<<determinant3<<endl;
int m;
m=determinant/2*determinant2;
cout<<"m="<<m<<endl;
int m2;
m2=determinant3/2*determinant2;
cout<<"m2="<<m2<<endl;
int yaricap,x,y;
cout<<"x i gir"<>x;
cout<<"y yi gir"<>y;
yaricap=sqrt((x-m)*(x-m)+(y-m2)*(y-m2));
cout<<"yaricap="<<yaricap<<endl;
return 0;
}
Hocam soru mu geri alıyorum hatamı anladım aslında bir sorun da yokmuş teşekkür ederim
Verilen bir tamsayının “1” ve kendisi dışındaki çarpanlarını görüntüleyen bir program algoritması lazım yardım edebilir misiniz?
Hocam izninizle soruyu gördüm ve cevaplamak istedim vaktim varken eğer cevabı beğenmezseniz ve yanlış bir şey görürseniz bana söylerseniz sevinirim
Teşekkürler. Kodunuz doğru ancak yazıdaki ikinci sorunun çözümünde (yazının konusu olan quiz sorularının çözümünde) bir kod ve çözüm var. Recep Bey niçin bir kere daha sormuş bilemiyorum ama çözüm zaten yazıda vardı.
Sizin çözüme gelince, doğru olmakla birlikte performans açısından biraz daha yavaş çalışacaktır. Bunun sebebi bir sayının kendinden küçük bütün sayılarla test edilmesidir. Aslında fermat teoremine göre bir sayının kareköküne kadar olan sayıları test etmeniz yeterlidir (hiçbir sayının karekökünden büyük çarpanı olamaz) ancak yine de performans açısından yukarıdaki çözüm daha iyi olabilir (Aradaki farkı örnekler üzerinden deneyerek görebilirsiniz, ufak bir not: 3 haneli bir sayının bir haneli bir sayıya bölünmesi ile iki haneli bir sayının bir haneli bir sayıya bölünmesi arasında performans farkı vardır).
Yine de kod ve yardımınız için teşekkürler, sitede çok sayıda soru geliyor ve vakit buldukça cevap yazmaya çalışıyorum ama çoğuna yetişemiyorum, bu şekilde cevaplar gerçekten çok yardımcı oluyor.
Hocam merhaba Kod çalışıyor Fakat bu kodu daha güzel hale getirmek istiyorum Mesela determinant bir,determinant 2 ve determinant 3 diye bir fonksiyon oluşturmak istesem
determinant 1 in içi şu işlemi görsün
|x1^2+y1^2 y1 1|
|x2^2+y2^2 y2 1|
|x3^2+y3^2 y3 1|
determinant 2 nin içi
|x1 y1 1|
|x2 y2 1|
|x3 y3 1|
determinant üçün içi de
|x1 x1^2+y1^2 1|
|x2 x2^2+y2^2 1|
|x3 x3^2+y3^2 1|
bu işlevi görsün ve bu x i yi biz kendimiz verelim
Bunu nasıl yapabilirim ben bir şeyler düşündüm ama tamamlayamadım yardımcı olur musun (float) cinsinden olmalı Bunu istememin sebebi çok büyük sayılarla uğraşıyorum ve tek tek girince hem zor oluyor hem de yanlış girdiğimde baştan girmem gerekiyor en azından bir kısmını gösterin ben tamamlayayım
Rahatsız ettiğim için özür dilerim
#include
#include
#include
//using namespace std;
float determinant(float arr[][3])
{
float det=0.0;
int i;
for(i=0;i<3;i++)
det = det + (arr[0][i]*(arr[1][(i+1)%3]*arr[2][(i+2)%3] - arr[1][(i+2)%3]*arr[2][(i+1)%3]));
return det;
}
int main()
{
float matris1[3][3],matris2[3][3],matris3[3][3];
float x[3],y[3];//x1,x2,x3/y1,y2,y3
int i,j;
printf("x1 x2 ve x3 u giriniz\n");
scanf("%f%f%f",&x[0],&x[1],&x[2]);
printf("y1 y2 ve y3 u giriniz\n");
scanf("%f%f%f",&y[0],&y[1],&y[2]);
//matris1 i oluşturma
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(j==0)
matris1[i][j]=pow(x[i],2)+pow(y[i],2);
else if(j==1)
matris1[i][j]=y[i];
else
matris1[i][j]=1;
//matris2 yi oluşturma
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(j==0)
matris2[i][j]=x[i];
else if(j==1)
matris2[i][j]=y[i];
else
matris2[i][j]=1;
//matris3 yi oluşturma
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(j==0)
matris3[i][j]=x[i];
else if(j==1)
matris3[i][j]=pow(x[i],2)+pow(y[i],2);
else
matris3[i][j]=1;
//matris1 i ve determinantını yazdırma
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%.2f ",matris1[i][j]);
}
printf("\n");
}
printf("Determinanti1 =%.2f \n\n",determinant(matris1));
//matris2 i ve determinantını yazdırma
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%.2f ",matris2[i][j]);
}
printf("\n");
}
printf("Determinanti2 =%.2f \n\n",determinant(matris2));
//matris3 i ve determinantını yazdırma
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%.2f ",matris3[i][j]);
}
printf("\n");
}
printf("Determinanti3 =%.2f \n\n",determinant(matris3));
float a,b;
a=determinant(matris1)/(2*determinant(matris2));
b=determinant(matris3)/(2*determinant(matris2));
// cout<<a<<" "<<b<<endl;
printf("%.2f ",a);
printf("%.2f ",b);
float yaricap;
//cout<<"k ve l yi girin"<<endl;
// printf("k ve l yi gir = \n\n");
// scanf("%f%f",&k,&l);
yaricap=sqrt((x[0]-a)*(x[0]-a)+(y[0]-b)*(y[0]-b));
// cout<<"yaricap="<<yaricap<<endl;
printf("yaricap =%.2f \n\n",yaricap);
return 0;
}
sorunu hallettim
hocam arrayle ilgili final sınavında çıkabilcek bir kaç tane kod yazabilir misiniz?
birde hocam random number of generation ve sorting arrays le ilgilli örnekler verebilirseniz sevinirim
Hocam merhaba ben std vectörle ilgili bir şey sormak istiyorum Benim koordinatları (x ve y olmak üzere 2 tane) std vectöre atmam lazım fakat hata veriyor ikili olunca std vectör nasıl kullanılıyor
Template kullanmanız gerekiyor. Yani vektörün her elemanı bir nesne olacak. Nesnenin (object) tanımlandığı sınıfta ise (class) x ve y şeklinde iki farklı değer tutacak. Örnek kullanım ve anlatım aşağıdaki yazıda var:
http://bilgisayarkavramlari.sadievrenseker.com/2009/04/20/sablonlar-templates/
Başarılar
Hocam Merhaba ben resimde istediğim koordinatları üç farkl ıgrupta yazdırdım Koordinat ikili bir biçimde olduğu için biraz farklı yatım Şimdi de ardışık koordinatları sildirmek istiyorum (mesela şöyle 329 300; 328 300; 330 300; 330 300 gibi ise sadece bunlardan birinin kalması yeterli Ben şöyle yaptım fakat olmadı bir bakar mısınız?
#include #include “opencv2/highgui/highgui.hpp”
#include “opencv2/imgproc/imgproc.hpp”
#include “opencv2/contrib/contrib.hpp”
#include
#include
#include
using namespace std;
using namespace cv;
struct Koordinat {
int x;
int y;
};
int main()
{
int const r1 =100,r2=75,r3=50;
std::vector cember1, cember2, cember3;
std::vectordizi;
Mat image = imread(“C:\\OpenCV2.4.6\\56.png”);
//circle( image, Point( 385, 385 ), 100.0, Scalar( 0, 0, 255 ), 1, 8 );
for(int i = 0; i < image.rows; ++i) {
for(int j = 0; j < image.cols; ++j) {
int b=int(image.at(i,j)[0]);
int g=int(image.at(i,j)[1]);
int r=int(image.at(i,j)[2]);
int x=385,y=385;
float cember_denklemi1,cember_denklemi2,cember_denklemi3;
cember_denklemi1= sqrt((i-x)*(i-x)+(j-y)*(j-y)-(r1*r1));
cember_denklemi2= sqrt((i-x)*(i-x)+(j-y)*(j-y)-(r2*r2));
cember_denklemi3= sqrt((i-x)*(i-x)+(j-y)*(j-y)-(r3*r3));
if(cember_denklemi1=0)
cout<<"KIRMIZI"<<i<<" "<<j<<endl;
cember1.push_back({i, j});
if(cember_denklemi2=0)
cout<<"YESİL"<<i<<" "<<j<<endl;
cember2.push_back({i, j});
if( cember_denklemi3=0)
cout<<"MAVİ"<<i<<" "<<j<<endl;
cember3.push_back({i, j});
}
}
for(int i=0;i<cember1.size();i++)
{
for(int j=i+1;j<cember1.size();j++)
{
if((cember1.at(i).x-cember1.at(j).x)*(cember1.at(i).x-cember1.at(j).x)+(cember1.at(i).y-cember1.at(j).y)*(cember1.at(i).y-cember1.at(j).y)<3)
dizi.push_back(j);
}
}
for(int j=0;j<dizi.size();j++)
{
cember1.erase(cember1.begin()+dizi.at(j));
}
dizi.clear();
}
#include #include int A, B, C, D, i; int mak (int x, int y) { int k ; k= 2*x+y-2; return k; } main () { A=4 ; B=A-1; C mak (A, B)+2 ; D=2*C-A+3; for (i=1; i <=2; i++) {if (B+C <D-4) { C=B-A+2; A=C-2; B=A+B-2;} else { C=B+A-2; A=C+7; B=A-C+2;} D=B-mak (A-2,6); printf ("A=% 4d B=% 4d C=% 4d D =% 4d/n ", A,B,C,D);} getch ( );}
Şey burda siz bana mı cevap yazdınız yoksa bir soru mu yazdınız
int tipli bir dizinin elemanlarini char tipli diziye atayan program yazabilirmisiniz?
biraz daha açıklar mısınız nasıl bir şey istiyorsunuz?
Hocam Merhaba
Ben c++ ın temel konularını bitirdim Yani classları friend fonksiyonları… Fakat bunların pekişmesini istiyorum Bunun için ne yapmam lazım Önerebileceğiniz kitap ya da alıştormalar olan bir site var mıdır ? Ya da bakmadım ama siz sitenizde böyle örneklere yer verdiniz mi?
hocam üçüncü dereceden denklemin c programında kökünü nasıl buluyoruz.yardımcı olur musunuz… soru: f(X)=x^3+x+1 fonksiyonun [-1.2]aralığındaki kökü bulma? şimdiden tşkler
Hocam merhaba
Ben amacımı gerçekleştirdim Amacım bir eğri üzerinden 3 nokta almaktı bunun için öncelikle yarıçapı farklı olan 3 çember (hayali) çizdirdimBunların eğrileri kestiği noktaları işaretledim Ama eğriler kesikli olduğu için ve belki çember kesmez diye bir bant aralığı oluşturdum ve sonra çıkan sonuçları bir diziye atadım ve yazdırdım buradan komşu pikselleri sildirdim ve elimde her eğriye ait 3 nokta kalmış oldu. Fakat şimdi yapmam gereken şey bu noktaların hangileri aynı eğri üzerinde yer alıyor Bunun için oluşturduğum noktaları üç tane iç içe for döngüsüne atıp ve sonra bir if yapısıyla çember denklemini sağlayıp(çemberin merkezi 180 180) çemberin merkezinden geçip geçmediğiniz kontrol etmem lazım eğer geçiyorsa bunları da üçlü grup halinde kaydetmeliyim Fakat sanırım ben bu noktaları ayrı isimlendirmedim ve nasıl for döngüsüne atacağımı bilmiyorum Bunu nasıl yapabilirim yardım eder misini?
(Not: ya ben konuyu galiba çok karışık anlattım galiba kusura bakmayın)
kod:
#include
#include
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/contrib/contrib.hpp"
#include
#include
#include
using namespace std;
using namespace cv;
struct Koordinat {
int x;
int y;
};
int main()
{
int const r1 = 50, r2 = 73, r3 = 15;
std::vector cember1, cember2, cember3;
Mat image = imread("C:\\OpenCv2.4.6\\atlas56.png");
int ikiBoyutKarsilastirDizi[100][2] = {};
int atlananKoordinatlar[100][2] = {};
cv::Vec3b pixelColor(255, 255, 0);
//circle( image, Point( 385, 385 ), 100.0, Scalar( 0, 0, 255 ), 1, 8 );
//circle(image, Point(385, 385), 100, Scalar(255, 0, 0), 1, 8, 0);
Vec3b color2 = image.at(Point(394, 378)); //beyaz 255 255 255 mi kontrolü.
for (int i = 0; i < image.cols; ++i) { // row la sütunun yeri yanlış olduğu için hesaplamalar yanlıs çıkıyor...
for (int j = 0; j < image.rows; ++j) {
Vec3b intensity = image.at(j, i);
uchar blue = intensity.val[0];
uchar green = intensity.val[1];
uchar red = intensity.val[2];
//int b = int(image.at(i, j)[0]);
//int g = int(image.at(i, j)[1]);
//int r = int(image.at(i, j)[2]);
int x = 385, y = 385;
int cember_denklemi1;
int cember_denklemi2;
int cember_denklemi3;
//float cember_denklemi1, cember_denklemi2, cember_denklemi3;
///**/
//cember_denklemi1 = sqrt((i - x)*(i - x) + (j - y)*(j - y) - (r1*r1));
//cember_denklemi2 = sqrt((i - x)*(i - x) + (j - y)*(j - y) - (r2*r2));
//cember_denklemi3 = sqrt((i - x)*(i - x) + (j - y)*(j - y) - (r3*r3));
cember_denklemi1 = (i - x)*(i - x) + (j - y)*(j - y) - (r1*r1);
cember_denklemi2 = (i - x)*(i - x) + (j - y)*(j - y) - (r2*r2);
cember_denklemi3 = (i - x)*(i - x) + (j - y)*(j - y) - (r3*r3);
int sayac = 0;
if (cember_denklemi1 >=0 && cember_denklemi1 0))
{
image.at(Point(i, j)) = pixelColor;
//Vec3b color = image.at(Point(i, j));
cout << "gelen koordinat : " << i << " " << j << endl;
if (ikiBoyutKarsilastirDizi[0][0] == 0)
//eğer dizinin içi boş ise vektörü ata. i ve j yi göster.
{
ikiBoyutKarsilastirDizi[0][0] = i;
ikiBoyutKarsilastirDizi[0][1] = j;
cout << "KIRMIZI" << i << " " << j << endl;
// image.at(Point(i, j)) = color2;
}
else //dizinin ilk elemanı atanmış ise karşılaştırma yap 5 fark kuralına uygunsa diziye ekle, uygun değilse vektörü atla. Atladıysan vektörü gösterme atlamadıysan vektörü göster.
{
for (int z = 0; z= 5 || abs(ikiBoyutKarsilastirDizi[z][1] - j) >= 5) // eğer daha önce diziye atanmış vektörün x ve y'si yeni eklenmeye çalışan vektörün x ve y' sinden 5 fazla yada eksik mi kontrolü. abs'ın amacı -3 yada -2 çıkma durumunda olayı kurtarmak.
{// Doğruysa,atlamadığımız için karşılaştırma dizisine ata,göster.
//sürekli olarak 1'e yada 0 a kaydediyor dizideki ilk 0 indisini bul demek lazım.iptal kontrolü dışarı çıkar.
sayac = z;
}
else
{
sayac = -1;
break;
}
}
}
//bütün değerlerin kontrolü yapıldıktan sonra eleman eklenmeli ve gösterilmeli.
if (sayac != -1)
{
ikiBoyutKarsilastirDizi[sayac + 1][0] = i;
ikiBoyutKarsilastirDizi[sayac + 1][1] = j;
cout << "KIRMIZI" << i << " " << j << endl;
}
else //atlanan koordinat buraya düşecek.
{
cout << "atlanan koordinat: " <<i << " " << j <=0 && cember_denklemi2 0))
{
image.at(Point(i, j)) = pixelColor;
//Vec3b color = image.at(Point(i, j));
cout << "gelen koordinat1 : " << i << " " << j << endl;
if (ikiBoyutKarsilastirDizi[0][0] == 0)
//eğer dizinin içi boş ise vektörü ata. i ve j yi göster.
{
ikiBoyutKarsilastirDizi[0][0] = i;
ikiBoyutKarsilastirDizi[0][1] = j;
cout << "BUYUK" << i << " " << j << endl;
// image.at(Point(i, j)) = color2;
}
else //dizinin ilk elemanı atanmış ise karşılaştırma yap 5 fark kuralına uygunsa diziye ekle, uygun değilse vektörü atla. Atladıysan vektörü gösterme atlamadıysan vektörü göster.
{
for (int z = 0; z= 5 || abs(ikiBoyutKarsilastirDizi[z][1] - j) >= 5) // eğer daha önce diziye atanmış vektörün x ve y'si yeni eklenmeye çalışan vektörün x ve y' sinden 5 fazla yada eksik mi kontrolü. abs'ın amacı -3 yada -2 çıkma durumunda olayı kurtarmak.
{// Doğruysa,atlamadığımız için karşılaştırma dizisine ata,göster.
//sürekli olarak 1'e yada 0 a kaydediyor dizideki ilk 0 indisini bul demek lazım.iptal kontrolü dışarı çıkar.
sayac2 = z;
}
else
{
sayac2 = -1;
break;
}
}
}
//bütün değerlerin kontrolü yapıldıktan sonra eleman eklenmeli ve gösterilmeli.
if (sayac2 != -1)
{
ikiBoyutKarsilastirDizi[sayac2 + 1][0] = i;
ikiBoyutKarsilastirDizi[sayac2 + 1][1] = j;
cout << "BUYUK" << i << " " << j << endl;
}
else //atlanan koordinat buraya düşecek.
{
cout << "atlanan koordinat1: " <<i << " " << j <=0 && cember_denklemi3 0))
{
image.at(Point(i, j)) = pixelColor;
//Vec3b color = image.at(Point(i, j));
cout << "gelen koordinat2 : " << i << " " << j << endl;
if (ikiBoyutKarsilastirDizi[0][0] == 0)
//eğer dizinin içi boş ise vektörü ata. i ve j yi göster.
{
ikiBoyutKarsilastirDizi[0][0] = i;
ikiBoyutKarsilastirDizi[0][1] = j;
cout << "KUCUK" << i << " " << j << endl;
// image.at(Point(i, j)) = color2;
}
else //dizinin ilk elemanı atanmış ise karşılaştırma yap 5 fark kuralına uygunsa diziye ekle, uygun değilse vektörü atla. Atladıysan vektörü gösterme atlamadıysan vektörü göster.
{
for (int z = 0; z= 5 || abs(ikiBoyutKarsilastirDizi[z][1] - j) >= 5) // eğer daha önce diziye atanmış vektörün x ve y'si yeni eklenmeye çalışan vektörün x ve y' sinden 5 fazla yada eksik mi kontrolü. abs'ın amacı -3 yada -2 çıkma durumunda olayı kurtarmak.
{// Doğruysa,atlamadığımız için karşılaştırma dizisine ata,göster.
//sürekli olarak 1'e yada 0 a kaydediyor dizideki ilk 0 indisini bul demek lazım.iptal kontrolü dışarı çıkar.
sayac3 = z;
}
else
{
sayac3 = -1;
break;
}
}
}
//bütün değerlerin kontrolü yapıldıktan sonra eleman eklenmeli ve gösterilmeli.
if (sayac3 != -1)
{
ikiBoyutKarsilastirDizi[sayac3 + 1][0] = i;
ikiBoyutKarsilastirDizi[sayac3 + 1][1] = j;
cout << "KUCUK" << i << " " << j << endl;
}
else //atlanan koordinat buraya düşecek.
{
cout << "atlanan koordinat2: " <<i << " " << j << endl;
}
}
}
}
}
imshow("Image", image);
int k = waitKey();
imwrite("atlas35.jpg", image);
//waitKey( 0 );
return(0);
}
Sorum basit oldu ama kusura bakmayın
s.a hocam okulda hocamız bizden sınıfın medyanını bulun dedi küçükten büyüye sıraladım fakat baştan ve sondan eşit uzaklıkta olan sayıyı bulamıyorum yardımcı olursanız dua ederim size 🙂
c# da console applicationda 🙂
Merhaba
Ben c ile olanını sana verebilrim o da şu
int i,j;
int sinif[10]={ssınıfın değerlerini girersin};
int tasiyici, uz;
float medyan;
float deger1, deger2;
main()
{
for(uz=0;uz<10;uz++)
{
uz=uz+1;
}
for (i=0;i<10;i++)
{
for (j=i+1;jsayilar[j])
{
tasiyici=sayilar[i];
sayilar[i]=sayilar[j];
sayilar[j]=tasiyici;
}
}
}
/* for (j=0;sayilar[j];j++)
{
printf(“%d”,sayilar[j]);
printf(“\n”);
}
*/
if ((uz%2)==0)
{
deger1=uz/2;
deger2=deger1+1;
printf(“Medyan %f”,(deger1+deger2)/2);
}
else if ((uz%2)==0)
{
deger1=uz/2;
printf(“Medyan %f”,deger1);
}
getch(); //system(“pause”);
}
Bir de biraz baktım c# ile olanı da şu olabilir c# pek bilmiyorum o yüzden doğru mu bilemem İşimde var pek bakamadım açıkçası
List numbers = new List();
double n = 0;
double m = 0;
string text = "";
do{
Console.WriteLine("Sayı giriniz? Çıkış için Q'ya basınız");
text = Console.ReadLine();
if (String.Equals(text.ToUpper(), "Q", StringComparison.CurrentCulture)) { break; };
try
{
n = double.Parse(text);
numbers.Add(n);
}
catch { Console.WriteLine("Lütfen sayı giriniz!"); }
} while (true);
numbers.Sort();
if (numbers.Count % 2 == 0){
m = (double)(numbers[(numbers.Count / 2)-1] + numbers[(numbers.Count / 2 + 1)-1])/2;
}
else{
m = (double)numbers[((numbers.Count + 1) / 2)-1];
}
Console.WriteLine("Sayılar:");
for (int i = 0; i < numbers.Count; i++) {
Console.Write("{0},",numbers[i]);
}
Console.WriteLine("Median:{0}", m);
Console.ReadKey();
sorularım var yardım edecek var mı
Sen bi gönder bildiğimiz kadarıyla ederiz
MERHABA HOCAM benimde bir sorum var
INT_MIN VE INT_MAX fonksiyonlarını kullanarak integer ve işaretsiz integer veri tipinde kullanılabilecek en büyük ve en küçük sayı değerlerini ekranda göstern c proğramını yazabilirmisiniz
Hocam merhaba ben üç noktanın çember belirtip belirtmeme durumuyla ilgili kod yazdım sonuç alamıyorum bakar mısınız acaba
double p1[100][3]={},p2[100][3]={},p3[100][3]={};
double D,E,F,cember;
Mat tmp;
for(int n=0;n<syc1;n++)
{
for(int k=0;k<syc2;k++)
{
for(int m=0;m<syc3;m++)
{
tmp=cember_denklemi(Point2f(p1[n][0],p1[n][1]),
Point2f(p2[k][0],p2[k][1]),
Point2f(p3[m][0],p3[m][1]));
D=tmp.at(0,0);
E=tmp.at(0,1);
F=tmp.at(0,2);
cout<<"cember denklemi:"<<"x^2+y^2+"<<D<<"*x+"<<E<<"*y+"<<F<<"=0"<0)
{ //
// if(sqrt(cember)/260) circle(image,Point(-D/2,-E/2),sqrt(cember)/2,Scalar(255,0,0),1,8);
if((x*x+y*y+D*x+E*y+F)==0)
{cout<<Point2f(p1[n][0],p1[n][1])<<"-"<<Point2f(p2[k][0],p2[k][1])<<"-"<<Point2f(p3[m][0],p3[m][1])<<endl;
// cout<<"yaricap="<<sqrt(cember)/2<<endl;
cout<<"bu uc nokta cember belirtir."<<endl;
cout<<"bingo"<<endl;
}
}
if(cember==0) cout<<"Nokta!"<<endl;
if(cember<0) cout<<"cember belirtmez!"<<endl;
}
}
}}
kodun ilgili kısmı burası tabi bir de main fonk üstünde şunu tanımladım
Mat cember_denklemi(Point2f A,Point2f B,Point2f C)
{
double W[3][3]={{A.x,A.y,1},
{B.x,B.y,1},
{C.x,C.y,1}};
double T[3][1]={-(A.x*A.x+A.y*A.y),
-(B.x*B.x+B.y*B.y),
-(C.x*C.x+C.y*C.y)};
Mat M=Mat(3,3,CV_64F,W);
Mat N=Mat(3,1,CV_64F,T);
Mat L=M.inv()*N;
return L;
}
klavyeden verilen bir sayının (x) yine klavyeden verilen i. üssünü (Xi), üs alma işlemini kullanmadan hesaplayan ve ekrana yazdıran bir bilgisayar programı hazırlama. Proje odevım bu yardımcı olursanız sevinirim. Teşekkürler şimdiden.
Bir döngü içerisinde verilen sayıyı (x) verilen üs(Xi) kadar kendisi ile çarptırmayı deneyin.
Write a program that reads a word and prints all substrings, sorted by length. For example, if the user provides the input “AND” the program prints
A
N
D
AN
ND
AND
bu soruda bana yardımcı olabilrseniz çok sevinirim.
selamun aleykum hocam ben b.t.t. 10 sinif ogrencisiyim hocamiz bir odev verdi fakat naptimsa hep hata veriyo acaba benmi yanlis yaziyorum odevim şu
Kullanıcıya kaç tane sayıyı toplayacağını sorup, kullanıcının toplayacağı kadar sayıyı kullanıcıya tek tek soran ve kullanıcının yazdığı bu sayıların toplamını ekrana yazan programı Visual Studioda Console Application kısmında yazınız.
Örneğin;
Kullanıcıya kaçtane sayı gireceğini soracak mesela 4 sayı ve sonra kullanıcı 1. sayıyı girdi örneğin bu sayı 129 olsun kullanıcıya toplamınız 129 diyecek sonra 2. sayıyı gir diyecek örneğin busayı 3 olsun sonra program ilk 2 sayıyı toplayıp 129+3=132 bu şekilde 4 sayıyının toplamını ekrana verecek tabi 3. sayıdan sonrada ara toplamı verecek ve 4. sayıdan sonrada ana toplamı verecek..
4 sayıyı ben örnek verdim bu sayı kullanıcıya göre değişmeli.
ben bunu şu şekilde visual sutudio 2010 da su sekilde yaziyorum
Döngüdeki i değişkeni kaçıncı sayıyı girdiğiniz, sayi isimli değişken ise girilen sayıyı ifade ediyor. Dolayısıyla toplam değerinizin girilen sayıların toplamı olabilmesi için toplam = toplam + sayi şeklinde düzeltilmeli.
Başarılar
Hocam merhaba. Bizden 1-99 arası 30 sayı girmemiz isteniyor. Bu sayılar arasındantekrar edilen her sayının kaç kez girldiğini bulmamız akabininde girilen en büyük ve en küçük sayıların arasındaki farkıda bulmamız isteniyor.. Dizilri görmediğimiz için henüz başarılı bir çalışma yapamadık. yardımcı olursanız seviniriz
merhaba hocam size bir sorum olacaktı C# ta 1 ile 100 arasındaki sayıları listeye ekleyin diye bir soru verdi hocamız bu sayıları ekrana yazdırabiliyorum fakat listeye ekleyip ekrana yazdıramıyorum bunu nasıl yapabilirim acaba
hocam,
Dörtlük sayısını,
b) Boş satır dâhil satır sayısını,
c) Kelime sayısını,
d) Benzersiz kelime sayısını,
e) Satır başına düşen ortalama kelime sayısını (boş satır hariç),
f) Toplam karakter sayısını (boşluk karakteri hariç), bulup verilen sıra ile ekrana yazan programı kodlayınız. ben bu işlerin hangi değişken ve hangi kütüphaneler kullanılarak yapılacak yardımcı olabilir misiniz?
Merhaba hocam , Karmaşık sayıları c dilinde nasıl tanımlayabiliriz acaba bu konuda yardımcı olabilirseniz çok sevinirim. Teşekkür ederim
Merhaba
Benim sorum şu:
C#’da
button1_click’e textboxtan 12 haneli sayı girip sayının ve sayının 5. 6. 7. 8. rakamlarını almak istiyorum.
girilen örnek sayı:121420121968
alınan sayı:2012
merhaba hocam ben diziler konusunu öğrendimde biraz bi kod hakkında yardım isticektim
kumeleri_yaz(intA[],intB[])
•birlesim_yaz(intA[],intB[])
•kesisim_yaz(intA[],intB[])
•AfarkB_yaz(intA[],intB[])
•BfarkA_yaz(intA[],intB[])
•A_kart_B_yaz(intA[],intB[])
benim bu işlemlerin kodunu yazmam lazım
Bir dizi içerisindeki birden çok tekrar eden sayıların, ilk görüldükten sonra sile bir C programı yazınız. Örneğin; int list[] ={ 1, 4, 2, 5, 2, 1, 6, 7, 6} dizisi int listyeni[]={1, 4, 2, 5, 6, 7} haline dönüşmelidir. Bu sorunun c kodunu yazabilir misiniz hocam şimdiden teşekkürler.
Arkadaşlar yardıma ihtiyacım var. Aşağıda yazdığım soruyu yapamadım. Acil Olarak C Dili kodlarına ihtiyacım var.
Soru: Girilen X ve Y Kordinatlarına en yakın mekanları yazan C Dili programının kodlarını yazınız. Yani örnek vermem gerekirse mesela 5 hastane ve 5 kafeden en yakın olanları yazan program.
hocam merhabalar ,benim sorum şu şekilde;
Ekrandan iki farklı pozitif tam sayı girilmesini isteyin. Bu sayılardan küçük
olandan büyük olanına kadar aradaki bütün tam sayıların toplamını yapan ve
ekrana sonucu yazan bir programı C dilinde nasıl yazılır ??
en fazla 6 basamaklı bir sayı girilecek;
bu girilen sayının basamak sayısı toplamı 10 ve en az 3 böleni olan bir sayı mı değil mi kontrol edilecek.
bunu c dilinde nasıl yazabilirim? yardımcı olursanız sevinirim.
hocam merheba bir sorum olacaktı size asal çarpanları aynı şekilde bulacak ama bir döngüsüde olacak şekilde döngü 0 veya – değer çıktığında bitecek yardım edebilirmisiniz hocam
Kullanıcının Girdiği ismi karışık nasıl yazılır ? örnek :Akrostiş şiir gibi alt alta yazacak mesela Brkau
Ukarb
Ruabk
Arkbu
Karbu
Bunun Gibi aynı ama girilen her ismi böyle yazacak acil söylermisiniz
merhaba ben 10.sınıf öğrencisiyim.Hocam klavyeden girilen sayıyı kendisi kadar ekrana yazdıran programı yazmamı istedi yardımcı olabilirmisiniz?
c# diliyle olacak.
Bana yardım edebilirmisiniz ?
Girilen 4 haneli bir tam sayının yüzler basamağındaki sayı değerinin ilk bölümünden elde edilen kalanın aynı sayının birler basamağındaki değer ile farkını bulan program. Metod ile çok az vaktim kaldı nasıl çalıştığını falan yazarsanız çok mutlu olurum.
Girilen bir n rakamina gore her cumledeki n. kelimeyi atlatarak yazan program yapmam gerekiyor yardimci olurmusunuz
Hocam soyle bir soru yonlendiricem nasil yapacagimi bilmiyorum ;
Oyle bir yazilim gelistirin ki , yazilim ilk basladiginda kullanicinin dogum tarihi istenilsin.
Devaminda, verilen tarihe gore kullanicinin hangi mevsimde dogdugu gosterilsin ?
Ekrandan sırasıyla üç adet sayı alan ve ardından ekrana alt alta sırasıyla,
Birinci sayı ile ikinci sayının farkını,
İkinci sayı ile üçüncü sayının çarpımını,
Birinci sayı ile üçüncü sayının toplamından ikinci sayı çıkartıldığını kalan sonucu yazdıran programı yazınız. . .
hocam merhaba benim sorum girilen bir sayının tek sayılarını alıp yeni bir sayı yapan program
örn:25678271 sayısını girince 5771 çıkmalı acil cevaplarsanız sevinirim.teşekkürler..
mrb hocam kullanıcıdan adını soyadını ve yaşını isteyen ve kullanıcıyı selamlayarak girdiği bilgileri ekrana yazdıran bir kodu nasıl yaparım örnek adiniz ali soyadınız can yaşiniz 22 merhaba al can adiniz ali soyadınız can yaşiniz 10