Öncelikle merhaba herkese benim c# ödevim var ödevi sizle paylaşıp nasıl bir yol çizmem gerektiğini ve hangi kaynaklarını önerdiğiniz söylerseniz çok hayır dua alacaksınız:) projeye gelince herhangi bir telefondan bluetooth yoluyla gelen giden kutusunu gösterme ve rehberi görüp üzerinde değişiklik yapmam isteniyor ben biraz araştırdım ve yardım istedim ama tıkandım kaldım seriport üzerinden yapmam gerekiyor galiba ama onunla ilgili kaynak bulamadım yardımcı olursanız çok sevinecem :) |
|
Eyvallah kardeşim sağolasın. |
arkadaşlar çok ac il bir sorum var ben <stdio.h> yazdım printf komutunun scanf komutunun işlevini yapmak istiyorum nasıl olur? |
va_list va_end vprintf puts daha alt seviye icin 8086 islemcilerde 10h 0Ah vs. inceleyebilirsin print icin. http://courses.engr.illinois.edu/ece390/books/labmanual/graphics-int10h.html |
Takipte konu." |
Arkadaşlar bir ödev üzerinde çalışıyorum bir kısmında takıldım. Girilen 20 adet öğrencinin notlarını dizide tanımladım. Daha sonrasında bu notların toplamını ve ortalamasını yazdırdım. Şimdi ise 50'den büyük olan notları, 50'den küçük olan notların adedini ve 50 alanların toplamını yazdırmam gerekli nasıl bir yol izlemeliyim, kodlar; { |
Böyle tek tek yapmana gerek yok, bir for yapısıyla dizinin içteki elemanını birer artırarak yaptırabilirsin. Ayrıca ReadLine'ları unutmuşsun. Soruna gelince, if yapısı kullan. Üç değişken belirle buyuk50,kucuk50,esit50. Eğer 50'ten büyükse buyuk50 bir artır tarzında bir işlem. Birazdan kodları eklerim, görürsen o zamana kadar üstünde düşünecek vaktin olur. Ekleme: Kodları ekledim, az önce C'den çıktım. Hata yaptıysam da sen ana mantığı kavramışsındır. Yine takıldığın bir nokta varsa yardımcı olmaya çalışırım. Kolay gelsin.
ortalama=toplam/20; |
Yardımınız için çok teşekkür ederim fakat yapmak istediğim şey aşağıdaki gibi olacak, yani sonuçlar en sonda belirecek . Örneğin; 1.Notu gir: 40 2.Notu gir: 60 Toplam & Ortalama: 100 & 50 50'den büyük notlar: 2.Not:60 50'den küçük notlar: 1 adet 50 olan notlar: 0 adet gibi burdan sonra nasıl yol izleyebiliriz. { |
50'den büyük, küçük ve eşit olanları tek tek(hangi not hangi değer) yazdırmak istiyorsunuz, doğru mu anladım? |
Evet dediğiniz gibi. 1. Girilen 20 tane notun toplamını ve ortalamasını yazdırmasını 2. 50'den büyük olan notları yazdırmasını 3. 50'den küçük olan notların ise adedini 4. 50 olan notların ise toplamını yazdırmasını istiyorum ve bunları son kertede göstersin yani 20.sayıyı girdikten sonra.. Şu kodda 1. adımı gerçekleştirdim sanırım. int[] notlar = new int[20]; |
ort = toplam / 20; Bu ifadeyi for döngüsü içerisinden çıkarabilirsiniz. Gereksiz işlem yapılmamış olur, her seferinde ortalamayı hesaplamasına gerek yok. Eğer 50'den büyük olan notlar için kaçıncı not olduğunun bir önemi yoksa işlem daha basit. Diğer türlüyse de biraz fikir vermiş olayım. notlar girdisi alındıktan sonra if(notlar>50) buyuk50den[j]=notlar; j++; diye bir dizi daha kullanabilirsiniz. Burada yaptığımız 50'den büyük olanları kaydetmek için ayrı bir dizi kullanmak. Peki sıra için ne yaparız? Onda da aynı mantık, bir deneyin isterseniz. Çok zor gelirse yine yardımcı olayım. Biraz karışık gibi gelebilir çünkü ilk seferde. garui görürse de daha farklı yoldan çözüm önerebilir belki. Benim aklıma bazen kompleks veya cins cins yollar gelir :) |
Dediğinizi anladım 50 den büyük sayılar için ayrı bir dizi oluşturup o diziyi yazdıracağız. Yazdığınız diziyi yazdığınız şekilde nasıl tanımlayabilirim biraz daha ayrıntılı gösterebilirseniz iyi olur, teşekkürler tekrar. |
Tamam o zaman şöyle bir deneyelim bakalım oluyor mu. int[] notlar = new int[20]; Biraz daha farklı olabilirdi ama dümdüz yazdım, ilk aklıma böyle geldi. Anlamadığın noktalar olmuş olabilir, lütfen sor. |
Artık olduğu kadarıyla :) Çeşitli yöntemleri öğrenmiş oldum sayenizde, ara sıra bölümüm nedeniyle buraya soru soruyorum. Sizi daha fazla meşgul etmek istemem, yardımınız için çok teşekkür ederim. Kendinize iyi bakın ![]() |
Rica ederim buraya dinlenmeye geliyorum, seve seve cevaplarım. Ben cevaplamassam arkadaşlar cevaplar. Olduğu kadarıyla deme, sen zaten programı şöyle detaylıca bir 5-10 dakika bakınca olayı anlarsın ![]() 50'den büyük sayılar için bir dizi oluşturduk. 50'den büyük sayıları not sırasına göre o diziye kaydettik. Sonra döngü dışında yazdırma işlemi yaptırmak için, yine girilen notları gözden geçirdik. 50'den büyük olduğunda sayıyı yazdırdık. Diziye de gerek yoktu ama, mantığı kolay kavransın diye ekledim. Sen de kendine iyi bak ![]() |
merhaba arkadaşlar. c de WM_KEYDOWN WM_KEYUP komutları nasıl kullanılır ? bu komutlarla ctrl+c/v gibi komutlar uygulanabilir mi? |
![]() |
fflush(stdin); yapısı yerine fonksiyon olmayan nasıl bir yapı kullanabilirim? |
Kendim yapmaya çalıştım ama beceremedim.
Programın çıktısı şu şekilde olucak;
mesela 5 girdik,
*
**
***
****
***** şeklinde gözükücek.İlk 'for' döngüsü doğru sanırım, gerisine bi bakarmısınız, yanlış nerede?
#include<stdio.h>
main()
{
int sayi,i,x;
printf("Sayi gir: ");
scanf("%d",&sayi);
for(i=1;i<=sayi;i++)
{
printf("*");
}
for(x=1;x<=i;x++)
{
printf("\n");
}
getch();
}
Benim yapabildiğim bu kadar, sizden yardım bekliyorum, teşekkürler.
Bu mesaja 1 cevap geldi. Cevapları Gizle