Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4171
Cevap
169586
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (82. sayfa)
A
12 yıl
Yarbay

quote:

Orijinalden alıntı: El nino9

C için sıfırdan konu anlatan videolar var mı bildiğiniz ? Java için buldum fakat java zor ilk c öğren dediler ?

Hocam Bilişim Teknolojileri aratırsan megep modüllerinden temeli anltan güzel örnekler mevcut.


Bu mesaja 1 cevap geldi.
O
12 yıl
Er

BİR ŞİRKETTE SATIŞ ELEMANLARININ PERFORMANSINI TAKİP EDEN BİR PROGRAM YAZILACAKTIR.HER SATIŞ ELEMANININ ADI,SOYADI VE SATIŞ MİKTARI (TL OLARAK) BİLGİLERİ KULLANICI TARAFINDAN GİRİLECEKTİR.TOPLAM 10 SATIŞ ELEMANI var.PROGRAM ORTALAMA SATIŞ MİKTARINI HESAPLAYACAK VE EKRANA YAZACAK.BUNUN YANINDA ORTALAMANIN ALTINDA KALAN VE ÜSTÜNDE KALAN SATICILARIN AD VE SOYADLARINI EKRANA YAZACAK.PROGRAMI DİZİLER YA DA STRUCTURE KULLANARAK YAPABİLİRSİNİZ.


şu soru için yardımcı olabilir misiniz


Bu mesaja 1 cevap geldi.
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: omer*

BİR ŞİRKETTE SATIŞ ELEMANLARININ PERFORMANSINI TAKİP EDEN BİR PROGRAM YAZILACAKTIR.HER SATIŞ ELEMANININ ADI,SOYADI VE SATIŞ MİKTARI (TL OLARAK) BİLGİLERİ KULLANICI TARAFINDAN GİRİLECEKTİR.TOPLAM 10 SATIŞ ELEMANI var.PROGRAM ORTALAMA SATIŞ MİKTARINI HESAPLAYACAK VE EKRANA YAZACAK.BUNUN YANINDA ORTALAMANIN ALTINDA KALAN VE ÜSTÜNDE KALAN SATICILARIN AD VE SOYADLARINI EKRANA YAZACAK.PROGRAMI DİZİLER YA DA STRUCTURE KULLANARAK YAPABİLİRSİNİZ.


şu soru için yardımcı olabilir misiniz

struct Elemanlar{
string isim;
string soyisim;
int satisMiktari;
};

Bu şekilde elemanları structda tutabilirsin.
Main içinde

Elemanlar elemanlar[10]; diyerek de tanımlarsın.

Sonra bir for döngüsü yaparak
cin >> elemanlar[donguSayac].isim
diyerek kullanıcıda isim soyisim ve satış miktarını alırsın. Sonra satis miktarlarının ortalamasını bulursun. Sonra yine bir for için de if yapısını kullanarak elemanlar[donguSayac].satisMiktari < ortalamaSatisMiktarı oldugu zamanda ekrana yazdırırsın. Direk kodu vermiyorum. Bu anlattıklarımla yazabiliyor olman lazım.


Bu mesaja 1 cevap geldi.
O
12 yıl
Er

tmmdır anlasılmıstır cok tesekkür ederim



K
12 yıl
Yüzbaşı

Beyler c# ile ilgileniyorum bu aralar bana bir program önerin yapayım dilde ilerledim biraz ama ne yapsam diye düşünüyorum yarım saattir bulamadım.


Bu mesaja 1 cevap geldi.
A
12 yıl
Onbaşı

C# ile nasıl ekran görüntüsü alabilirim?



T
12 yıl
Yarbay

quote:

Orijinalden alıntı: AdiqeCaLe

quote:

Orijinalden alıntı: AdiqeCaLe

Problem:1'den 52 arasında olan çift sayılari ve tek sayıları ayrı ayrı bulup,çift sayıların toplamını tek sayıdan çıkaran program?

Böyle yaptım ama else ile ilgili ifadede hata var diyor.Ama anlayamadım.

#include<stdio.h> 
#include<conio.h>
main()
{
int i;
int toplam1=0;
int toplam2=0;
for(i=0;i<52;++i)
{
if(i%2==0)
toplam1=toplam1+i;
printf("Cift sayilar toplami=%d\n",toplam1);
else
toplam2=toplam2+i;
printf("Tek sayilar toplami=%d\n",toplam2);
}
printf("Sonuc=%d\n",toplam1-toplam2);
getch();
}



Yardımcı olabilecek var mı?

Edit:En sonunda buraya kadar yapabildim .Ben ayrı ayrı çift ve tek sayilari toplayıp farkını alayım dedim ama cift ve tek sayilari adım adım toplamış.

http://n1306.hizliresim.com/1b/l/p9nxr.png

Edit 2: Çözdüm.

Split loop refactoring


Bu mesaja 1 cevap geldi.
R
12 yıl
Yüzbaşı

C de bir soru vardı,hatırladığım kadarıyla yazıyorum.

 MyFunction (char *s ,char *t) 
{



for (i=0 ; s[i] == t[i] ; i++)
if( s[i] == '\0' )
return 0 ;

return s[i] - t[i] ;


}


bu fonksiyon MyFunciton( basarili , basarisiz ) şeklinde çağırılırsa geriye hangi değeri döndürür?



karekterlerin ascii tabloda decimal karşılıkları için şu tablo verilmişti:
< Resime gitmek için tıklayın >

Edit: sınavda doğru çözmüşüm,cevap -7 :)





< Bu mesaj bu kişi tarafından değiştirildi rngms -- 20 Haziran 2013; 21:29:21 >
Bu mesaja 1 cevap geldi.
E
12 yıl
Binbaşı

#include<stdio.h> 
#include<conio.h>
main(){

int a,sayi=1,toplam=1;

printf("Faktoriyel icin sayi giriniz. \n");
scanf("%d",&a);
while(sayi<=a)
{
toplam=toplam*sayi;
sayi=sayi+1;
}
printf("Sonuc= %d",toplam);

getch();

return 0;
}



Arkadaşlar bunla faktoriyel hesapladım fakat 33 ten sonrasını hesaplamıyor. Nedeni nedir acaba bunun bu arada çok yeniyim bilmediğim çok şey vardır ona göre yorumlarsanız


Bu mesaja 1 cevap geldi.
B
12 yıl
Er

ödev için proje yapıyorum da sosyal paylaşım sitesi benzeri birşey. facebookta olduğu gibi durum paylaşımı yaptırmaya çalışıyorum dinamik tabloyla. textbox içeriğini butonla tablo satırına aktarcam ama her seferinde silip yenisini aynı satıra yazıyor. sürekli alt satıra ekletmeyi nasıl yapabilirim?
yani sayfa her açıldığında tablo satırında önceki paylaşımlar görüntülenecek ve yeni paylaşımlar eklenecek.

aşağıdaki kodda mesela, textbox a yazdığım metni 10 defa yazdırıyor. eksikliklerim nedir hangi komponentlerle ne şekilde yapabilirim? veri tabanı bağlantısı yapıp gridView ile denedim o da başarısız bir deneme oldu.. yardımcı olursanız çok sevinirim.. şimdiden çok teşekkürler




< Resime gitmek için tıklayın >



1
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: El nino9

#include<stdio.h> 
#include<conio.h>
main(){

int a,sayi=1,toplam=1;

printf("Faktoriyel icin sayi giriniz. \n");
scanf("%d",&a);
while(sayi<=a)
{
toplam=toplam*sayi;
sayi=sayi+1;
}
printf("Sonuc= %d",toplam);

getch();

return 0;
}



Arkadaşlar bunla faktoriyel hesapladım fakat 33 ten sonrasını hesaplamıyor. Nedeni nedir acaba bunun bu arada çok yeniyim bilmediğim çok şey vardır ona göre yorumlarsanız


unsigned int a,sayi=1,toplam=1;

olarak denermisin.


Bu mesaja 1 cevap geldi.
E
12 yıl
Binbaşı

denedim fakat sonuç aynı hocam 35! yapınca 0 cevabını veriyor.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @PLinux
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: El nino9

denedim fakat sonuç aynı hocam 35! yapınca 0 cevabını veriyor.

https://en.wikipedia.org/wiki/Integer_(computer_science)

Gunumuzdeki cogu compilerda integer 32 bittir. int yaklasik - 2 trilyon ile + 2 trilyon, unsigned int ise 0 ila +4 trilyon arasinda sayi gosterir.

Unsigned tipine cevirince, print ederken %d yerine %u kullanmalisin.

http://en.wikipedia.org/wiki/Factorial

Burdan kontrol edecegin uzere 30 aslinda dogru sonucu vermiyor.Yani mevcut kodunda 12 den sonrasini hesaplayamazsin. Fazlasini hesaplaman icin 64 bitlik bir deger kullanmalisin mesela unsigned long long 2^64 − 1 e kadar gider, buda bu listeden 20! e kadar print edebilecegini gosterir. unsigned long long u print etmek icin llu kullanmalisin.
referans icin:
http://codepad.org/BItRUiKy

Fazlasini print etmek istiyorsan binary number representation konusunu arastirip fixed point arithmetic virgullu sayilarin nasil integerden cevirildigini gosteriyor, yani benzer mantikla yapabilirsin. Eger ugrasmam dersen, GNU nun The GNU Multiple Precision Arithmetic Library sine bakmani tavsiye ederimhttp://gmplib.org/





< Bu mesaj bu kişi tarafından değiştirildi ThisisaNightmare -- 23 Haziran 2013; 15:47:59 >
Bu mesaja 1 cevap geldi.
E
12 yıl
Binbaşı

Tamam hocam teşekkürler. Dediğiniz kodu yazıp baktım 20! i hesapladım fakat dediklerinizi tam anlamadım çünkü daha çok başındayım olayın 2 saatlik dersle bunları öğrendim anca yeni yeni çalışıyorum. İleride artık iyice öğrenip yapmaya çalışırım.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @ThisisaNightmare
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: El nino9

Tamam hocam teşekkürler. Dediğiniz kodu yazıp baktım 20! i hesapladım fakat dediklerinizi tam anlamadım çünkü daha çok başındayım olayın 2 saatlik dersle bunları öğrendim anca yeni yeni çalışıyorum. İleride artık iyice öğrenip yapmaya çalışırım.

Bilgisayarlarda veriler 1lerle 0 larda saklanir her bir tanesine bit deriz. int yazdigimiz zaman cogu bilgisayar sistemi bize 32 bitlik(32 tane 0 ila 1) saklanan bir variable yaratir. Basitce ornek vermek gerekirse 2 bitlik bir sistem 00, 01, 10 ve 11 seklinde girebilir yani buda 4 farkli veri temsil edebiliriz. Unsigned dedigimiz data tipleri sadece pozitif sayilardir(0 dahil), unsigned 2 bitlik bir degisken, 0, 1, 2 ve 3 degerlerini alabilir. 4 degerini alamaz. Peki 4 degerini nasil alabilir? Bu degiskenin bit sayisini arttiririz, 3 bitlik bir sistem yapariz bu da 000, 001, 010, 011, 100, 101, 110, 111 seklinde 8 tane deger alir. Farkettiysen bu degerleri 2 uzeri bit sayisi seklinde (2^3) hesaplayabiliriz. Iste daha once 00 = 0, 01 = 1, 10 = 2 ve 11 = 3 diye tanimladigimiz numara tipinde artik 8 tane numara saklayabiliriz, bu durumda 000 = 0, 001 = 1, 010 = 2, 011 = 3, 100 = 4 ... diye gider. Yani istedigimiz buyuklukte sayiyi eger mevcut variable da depolayamiyorsak, o variablenin boyutunu arttiririz.

Iste daha once yazdigim gibi unsigned int ve int cogu sistemde 32 bittir. Yani unsigned int olarak dersek 2 uzeri 32 tane sayi temsil edilebilir. Bu da yaklasik 4 milyara esittir. Yani 0 dan 4 milyara kadar sayiyi unsigned int yazarak temsil edebiliriz. Fakat 4 milyardan fazlasini temsil etmek istedigimizde(yani 13! uzeri 4 milyarin ustu yapiyor) o zaman 32 bitlik bu degiskenin boyutunu arttirarak yapabiliriz. Bunun icinde "long long" kullanmalisin. "long long" tipi sana 64 bitlik degisken sunar yani 2 uzeri 64 adet temsil edebilecegin sayi. Iste bu nedenden oturu int yerine long long kullaniyorsun. Fakat ne yazikki C dilinde 64 bit maksimum boyut. Daha fazlasi mumkun degil. Fakat 2 uzeri 64 bitten fazla sayiyi temsil etmek mumkun. Bununla ilgili bilim dalina Arbitrary-precision arithmetic (http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic ) deniliyor. Bazi dillerde (Java gibi) BigInteger denilen data tipi bu hesaplama yoluyla teoride sonsuza kadar giden pozitif ve negatif sayilar temsil edebilir. C de ise bu ancak extended library lerle mumkundur bunlardan bitanesi ustte yazdigim GNU'nun Multiple Precision Arithmetic Librarysi var bu library ile 2 uzeri 64 ten daha fazla sayi temsil etmek mumkun...


Ek olarak su bilgiyide vereyim istiyorum:
Peki unsigned yazmadigimizda ne oluyor? O zaman o degiskene signed variable diyoruz. Peki nasil calisiyor dersen, ornek 2 bitlik bir sistemde 4 tane temsil edebilecegimiz bir sayi var. 00 her zaman 0 a esittir, en soldaki 1 bitinden itibaren sayi negatife donusturulur ve sagindaki bitler cikartilir. Yani 00 = 0, 01= 1, 10 = -2, 11 = (-2 +1 =) 1
Eger 3 biltik sistemde sorarsan, 000 = 0, 001 = 1, 010 = 2, 011 = 3, 100 = -4, 101 = -3, 110 = -2, 111 = -1 seklindedir. Bu yuzden variable tanimlarken eger negatif sayi kullanmayacaksak onune unsigned yazarak temsil edecegimiz pozitif sayiyi ikiye katlamis oluruz.





< Bu mesaj bu kişi tarafından değiştirildi ThisisaNightmare -- 24 Haziran 2013; 1:13:43 >
Bu mesaja 1 cevap geldi.
E
12 yıl
Binbaşı

Programın çalışma mantığı kafamda oluştu şu an anlattıklarınızla. Fakat dediğiniz gibi "unsigned long long" diyerek tanımladım ve en son sonuç gösteren printf kısmındaki (%d) yerine (%llu) yazarak değiştirdim. Şimdi sayıyı yazıyorum 2 yazsam bile sonuç vermiyor sadece boşluk bırakıyor alta.

#include<stdio.h> 
#include<conio.h>
main(){

unsigned long long a,sayi=1,toplam=1;

printf("Faktoriyel icin sayi giriniz. \n");
scanf("%d",&a);
while(sayi<=a)
{
toplam=toplam*sayi;
sayi=sayi+1;
}
printf("Sonuc= %llu",toplam);



getch();

return 0;
}


Şu şekilde nesi yanlış acaba bu sefer ?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @ThisisaNightmare
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: El nino9

Programın çalışma mantığı kafamda oluştu şu an anlattıklarınızla. Fakat dediğiniz gibi "unsigned long long" diyerek tanımladım ve en son sonuç gösteren printf kısmındaki (%d) yerine (%llu) yazarak değiştirdim. Şimdi sayıyı yazıyorum 2 yazsam bile sonuç vermiyor sadece boşluk bırakıyor alta.

#include<stdio.h> 
#include<conio.h>
main(){

unsigned long long a,sayi=1,toplam=1;

printf("Faktoriyel icin sayi giriniz. \n");
scanf("%d",&a);
while(sayi<=a)
{
toplam=toplam*sayi;
sayi=sayi+1;
}
printf("Sonuc= %llu",toplam);



getch();

return 0;
}


Şu şekilde nesi yanlış acaba bu sefer ?

Problemi kesin soylemeyeyim onu kendin bul fakat bir ipucu vereyim. Problem, scanf de...


Bu mesaja 1 cevap geldi.
E
12 yıl
Binbaşı

Tamamdır hocam scanf olan kısmada llu yazdım ve yaptım oldu. Fakat yine dediğiniz gibi daha yüksekleri bulmuyor ama bu kadarını öğrendim teşekkürler yardımınız için


Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @ThisisaNightmare
A
12 yıl
Onbaşı

 


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;

namespace _Capture_Mania
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

Bitmap resim;
Graphics grafik;

public void ScreenshotAl()
{
Bitmap resim = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);

Graphics grafik = Graphics.FromImage(resim);

grafik.CopyFromScreen(0, 0, 0, 0, new Size(resim.Width, resim.Height));

string Yol = "C:\\Screenshot.png"; //Kaydedilecek dizin

resim.Save(Yol, ImageFormat.Png); // Kaydet
}

[DllImport("user32.dll", CharSet = CharSet.Ansi)]
public static extern int GetAsyncKeyState(long Tus); // GetAsyncKeyState windows apisi gönderilen tuşa basılıp basılmadığını kontrol eder (ister uygulama için ister uygulama dışı farketmez.)

public static bool TusKontrol(byte Kod) // Windows apisini kullanarak tuş kontrolü yapar
{
if (GetAsyncKeyState((long)Kod) == System.Int16.MinValue + 1) // İşte burada çalıştırdığında hata geliyor.. Ne yapacağız? buraya kadar geldim her şey bitmek üzere sadece bu kaldı..
return true;
else
return false;
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void timer1_Tick(object sender, EventArgs e)
{
if (TusKontrol((byte)Keys.Multiply))
ScreenshotAl();
}


}
}






Kodundaki
if (GetAsyncKeyState((long)Kod) == System.Int16.MinValue + 1)
Kısmında hata bulan visual studio şunları diyor:

A call to PInvoke function '_IsteBudur!_IsteBudur.Form1::GetAsyncKeyState' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.

Ne yapmam gerektiğini bilen varsa yardımcı olabilir mi?



T
12 yıl
Yarbay

quote:

Orijinalden alıntı: El nino9

Tamamdır hocam scanf olan kısmada llu yazdım ve yaptım oldu. Fakat yine dediğiniz gibi daha yüksekleri bulmuyor ama bu kadarını öğrendim teşekkürler yardımınız için

Su aralar is gorusmelerine calisiyorum, pascal ucgeni sorusunu cozmeye kalkmistim, dil c++ o yuzden long long a izin verilmiyor, onun yerine int64_t kullaniyorum fakat ayni islem... Cozumumu incelemek istersen:
http://codepad.org/H5Snlrbx


Bu mesaja 1 cevap geldi.