float a = 7, h = 3; printf("%f",(a*h)/2); ya da int a = 7 , h = 3; printf("%f",float((a*h)/2)); // işlemi float() fonksiyonuyla floata dönüştürüyorum. ya da int a = 7, h = 3; printf("%f",1.0*(a*h)/2); // 1.0 ' la çarpıyorum; 1.0 zaten 1 e eşit olduğu için sonucu değiştirmiyor ama float sayıya dönüştürüyor. yani ya değişkenlerinin float olması lazım, ya da onları 2. ve 3. örnekteki gibi floata dönüştürmen lazım. örnekler çoğaltılabilir benim aklıma bunlar geldi. |
Hocam o kadar uzatmana gerek yok aslında çok daha az kod yazarak işini halledebilirsin. Sorunlara gelince: #include<conio.h> yok, 0. değeri hesaplamana gerek yok. Çünkü 0. sayı diye birşey yok. Sayma sayıları 1 den başlar. Bunları düzelttikten sonra hala sorun yaşarsan kodunu tekrar paylaş bakalım. |
Bugün sınav olduk ve bu soruları pek anlamadım , aslında yaptım birşeyler ama doğrumu değilmi bilmiyorum. Mesela , x= 2 döndüğü zaman ne olacak ,continue diyip , x i 3 mü alacak ve printfde * basacakmı ? Eğer x= 3 olacaksa break olduğunda * basmadan alttaki if(i%3==0) continue yemi geçecek? if(i%3==0) continuede i=3 ise + basmadan döngünün enbaşınamı dönecek? < Resime gitmek için tıklayın > Birde şöyle soru vardı.Bunuda anlamadım ne biçim soru bu, bu iki soru kafamı çok karıştırdı , şimdiden teşekkür ederim :) < Resime gitmek için tıklayın > |
arkadaşlar üniye bu sene gidemedim seneye başlayacağımda c öğrenmek istiyorum visual studio tarzı komutları hazır veren ve kolay yazıp öğrenmemizi sağlayan bir program sölermisiniz c dilini çalışmam için |
o ödev bitti artık hocam ![]() #include<stdlib.h> #include<stdio.h> int main(){ int i; unsigned toss; printf("Enter the number of coin toss = "); scanf("%u",&toss); srand(toss); for(i=1;i<=10;i++){ toss=(1+(rand()%2)); if(toss==x) x+=1; if(toss==y) y+=1; } printf("%d%d,x,y"); getch(); return 0; } HATAYI ÇÖZEBİLECEK VARSA ÇOK SEVİNİRİM SAYGILAR.... |
#include <iostream> #include <stdlib.h> #include <cmath> #include <iomanip> using namespace std; int a[100], i, j, n, tmp, sonuc, toplam = 0, sayi; int bul(int a[], int bvks[]); int yanyana(int a[], int n); int dizitopla(int a[], int n); int diziortalama(int a[], int n); float sapma(int a[], int n); int varmi(int a[], int n); int main() { int eb=0, ek=0; int buyukVeKucukSayilar[10]; cout << "Dizi’ye kac tane eleman girilsin = "; cin >> n; for (i = 0; i < n; i++) { cout << "a" << "["<<i<<"]" << ".Elemani Giriniz = "; cin >> a; } yanyana(a, n); cout << "\n" << endl; cout << "Toplam = " << dizitopla(a, n) << endl; cout << "Ortalama = " << diziortalama(a, n) << endl; bul(a, buyukVeKucukSayilar); cout << "En buyuk = " << buyukVeKucukSayilar[0] << "\n"; cout << "En buyuk deger dizi sirasi = " << eb << "\n"; cout << "En kucuk deger dizi sirasi = " << ek << "\n"; cout << "En kucuk = " << buyukVeKucukSayilar[1] << "\n"; cout << "Sapma = " << sapma(a, n) << "\n"; cout << "Aradaki Toplam Sayi = " << varmi(a, n) << "\n"; system("pause"); return 0; } int dizitopla(int a[], int n) { int toplam = 0; for (i = 0; i < n; i++) { toplam = toplam + a; } return toplam; } int diziortalama(int a[], int n) { int ortalama; ortalama = dizitopla(a, n) / n; return ortalama; } int yanyana(int a[], int n) { for (int i = 0; i < n; i++) { cout << setw(10) << a; } } int bul(int a[], int bvks[]){ int enBuyuk, enKucuk, eb, ek = 0; int i; enBuyuk = a[0]; enKucuk = a[0]; for (i = 0; i < n; i++){ if (a > enBuyuk) enBuyuk = a; eb = i; if (a < enKucuk) enKucuk = a; ek = i; } bvks[0] = enBuyuk; bvks[1] = enKucuk; } float sapma(int a[], int n) { int i; float sapma = 0; for (i = 0; i < n; i++) { sapma += (a - diziortalama(a, n))*(a - diziortalama(a, n)); } return sapma; } int varmi(int a[], int n) { int i, j, min, max, x, say = 0; int temp; max = a[0]; for (i = 0; i<n; i++) { if (a>max) { max = a; } } min = a[0]; for (x = 0; x < n; x++) { if (a < min) { min = a; } } while (min != max) { say += 1; min++; } say = say - (sayi + 3); return say; } Beyler bu kodda 'yanyana' ve 'bul' için: must return a value hatası alıyorum. Nasıl çözerim? |
hocam çünkü iki fonksiyonuda int(tam sayı) olarak tanımlamışsınız ama dönen bi tam sayı yok ya return ile bir değer döndürceksiniz yada void olarak tanımlayacaksınız: void olarak:
|
ne hatası var ? Bence sonucu ekranda göremiyorsun çünkü her şeyi tırnak içinde yazmışsın printf("%d%d,x,y"); yerine: printf("%d %d" x, y); |
Belirtilen fonksiyonların içinde return deger; gibi bir değişken döndürmek gerekiyor. Fonksiyon türü void değilse diğer bütün tiplerde bunu yapman gerekir. Döndürdüğün değeri kullanmayacaksan int türünü kullanmanın bir anlamı yok void türünden de yapabilirsin.
|
Yok dostm onu duzelttim usigned li kisimda hata veriyor |
unsigned int toss = 0; |
dostum c dilini bilgisayarda yazıp uygulamak istiyorum öğrenmek açısından visual studio'da yazamıyoruz sanırsam.dev c plus plus dada hata veriyor bilgisayar nedense |
nasıl bir hata veriyor, işletim sistemi ne ? Visual studio'u neden çalıştıramıyorsun ?? |
visual studio 2005'i bilgisayar açıyorda onda c dili yazılmıyor diye biliyorum ben yazılıyormuydu? http://forum.donanimhaber.com/m_99437855/f_//tm.htm#99437855 dostum hata bu |
Dostum ilk soruda kafanın karışmasının sebebi daha önce continue ve break kavramları ile ilgili pratiğin olmamasından kaynaklanıyor, kullanımlarını araştırman lazım yoksa üstesinden gelebileceğin bir soru o. break komutu, içinde bulunduğu döngüden çıkar, continue ise sadece döngünün bir adımını atlar. Aşağıdaki kodda göreceğin gibi, i, 5 olduktan sonra if kontrolüne girer ve continue komutu işlenir, ekrana 1'dan 9'a kadar yazması gerekirken 5 rakamını yazmaz o adımı atladı çünkü ve kaldığı yerden yani 6'dan yazmaya devam eder. continue yerine break olmuş olsaydı, 4'e kadar yazar ve bitirirdi.
İkinci soruda ise 4 işlemin de sonuclarını ekrana yazdırırsan aralarındaki farkları görebilirsin, cout<<9/2; şeklinde kod girersen derleyici bunları integer olarak alır ve 4 yazar. Ama cout<<9/2.0; şeklinde sayılardan birini ondalık olarak yazarsan derleyici bunu float olarak kabul eder ve ekrana 4.5 yazar. Soruda da bunların kullanımını sormuş zaten, gerisini sen çıkarabilirsin. cout, c dilinde printf komutuna denk geliyor bu arada. |
Merhaba C# ta böyle bir grafik yapmak istiyorum nasıl oluşturabilirim < Resime gitmek için tıklayın > |
C ve C++ Deitel & Deitel kitabı arıyorum nerden temin edebilirim |
Örneğin;
Bir üçgen alan hesaplama formülü yazdım diyelim.
Formül: a * h / 2
a = 7, h = 3
7*3 = 21 /2 = 10,5 çıkması gerekirken 10.00000 gibi birşey çıkıyor. İstediğim 10,5 çıkması.
Bu mesaja 1 cevap geldi. Cevapları Gizle