Şimdi Ara

C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (161. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
4.172
Cevap
118
Favori
170.223
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 159160161162163
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • C dilinde float tipinde bir sonuç elde ettiğim zaman küsuratını 00000 olarak gösteriyor bunu nasıl düzeltebilirim?

    Ö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ı.
  • Devotion kullanıcısına yanıt
    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.
  • quote:

    Orijinalden alıntı: T-Skipper

    FİBONACCİ SAYISINI VEREN KOD C DİLİNDE.FOR DÖNGÜSÜNÜN İÇİNDE BİR HATA VAR GALİBA ÇÖZEMEDİM YARDIMCI OLUR MUSUNUZ


    /*
    TASK 2 : Write a main program to compute the Fibonacci number.
    */

    #include<stdio.h>

    int main(){

    int x,x0=0,x1=1,sum,counter,intervalvalue;

    printf("Please enter an integer:");
    scanf("%d",&x);

    if(x==0)
    printf("Fib(0)=0.\n");

    if(x==1)
    printf("Fib(1)=1.\n");

    if(x>1){
    for(counter=0;counter<x;++counter){
    intervalvalue=x0+x1;
    x0=x1;
    x1=intervalvalue;
    sum=x0+x1;}

    printf("Fib(%d)=%d.",x,sum);}

    getch();
    return 0;
    }



















































































    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?


    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 :)




    < Bu mesaj bu kişi tarafından değiştirildi cezaalp -- 13 Kasım 2014; 20:56:22 >




  • 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 ama yeni ödev de sorun yaşıyorum 2 gündür hala kodu yazamadım . kendimiz belirleyeceğimiz sayıda madeni para atıcaz örn(100) ve kaç yazı kaç tura geleceğini ekrana yazdıracaz(buna bilg karar verecek örn 45 tura 55 yazı)) random yani
    #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?




  • quote:

    Orijinalden alıntı: Fukceng

    #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:
     
    void yanyana(int a[], int n)
    {
    for (int i = 0; i < n; i++)
    cout << setw(10) << a;
    }

    void 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;
    }

    < Bu ileti mini sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: T-Skipper

    o ödev bitti artık hocam ama yeni ödev de sorun yaşıyorum 2 gündür hala kodu yazamadım . kendimiz belirleyeceğimiz sayıda madeni para atıcaz örn(100) ve kaç yazı kaç tura geleceğini ekrana yazdıracaz(buna bilg karar verecek örn 45 tura 55 yazı)) random yani
    #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....

    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);

    < Bu ileti mini sürüm kullanılarak atıldı >




  • 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.


     
    int bul(){
    int sayi = 15;
    return sayi;
    }

    void arttir(int& deger){
    deger++;
    }
  • quote:

    Orijinalden alıntı: lavara123


    quote:

    Orijinalden alıntı: T-Skipper

    o ödev bitti artık hocam ama yeni ödev de sorun yaşıyorum 2 gündür hala kodu yazamadım . kendimiz belirleyeceğimiz sayıda madeni para atıcaz örn(100) ve kaç yazı kaç tura geleceğini ekrana yazdıracaz(buna bilg karar verecek örn 45 tura 55 yazı)) random yani
    #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....

    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);

    Yok dostm onu duzelttim usigned li kisimda hata veriyor

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: T-Skipper


    quote:

    Orijinalden alıntı: lavara123


    quote:

    Orijinalden alıntı: T-Skipper

    o ödev bitti artık hocam ama yeni ödev de sorun yaşıyorum 2 gündür hala kodu yazamadım . kendimiz belirleyeceğimiz sayıda madeni para atıcaz örn(100) ve kaç yazı kaç tura geleceğini ekrana yazdıracaz(buna bilg karar verecek örn 45 tura 55 yazı)) random yani
    #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....

    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);

    Yok dostm onu duzelttim usigned li kisimda hata veriyor

    unsigned int toss = 0;

    < Bu ileti mini sürüm kullanılarak atıldı >




  • lavara123 kullanıcısına yanıt
    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
  • waleur5 kullanıcısına yanıt
    Codeblocksu dene
  • quote:

    Orijinalden alıntı: waleur5

    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 ??

    < Bu ileti mini sürüm kullanılarak atıldı >
  • 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.

     
    for(int i=1; i<10; i++){
    if(i%5==0){
    continue;
    }
    printf(i);
    }




    İ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.




  • Çok teşekkür ederim
  • Merhaba C# ta böyle bir grafik yapmak istiyorum nasıl oluşturabilirim
  • C ve C++ Deitel & Deitel kitabı arıyorum nerden temin edebilirim
  • 
Sayfa: önceki 159160161162163
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.