C'de sayıyı 1/a şeklinde yazdırma

F710Kolu

Hectopat
Katılım
18 Aralık 2020
Mesajlar
226
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
İki sorum olacak ilki başlıkta ki gibi, bir dizi olacak ve sırayla değer girilecek daha sonra bu dizinin degerleri 1/a şeklinde yazılıp toplanıcak. Nasıl 1/a şekline getirebilirim.

İkinci sorum, mesela kullancı 5 sayısını girdi belirli sayinin 5 inci dereceden kökünü almak istiyorum, pow(sayi, 1/i ) şeklinde yaptığımda 1 değerini veriyor. (i girilen sayı miktarını temsil ediyor.) Kütüphane tanımlamalarında bir sıkıntı yok.
 
Bir listeye koyacaksin girilen sayilari, for dongusu ile yaprsin. Sonra o listede gezmeye baslayacaksin. Ikinci bir listeye de o elemanlari yazdiracaksin.

Ornek bir kod yaziyorum.
C:
#include <stdio.h>

int main() {
        int terimsayisi;
        printf("Kac adet sayi girmek istersiniz? ");
        scanf("%d", &terimsayisi);
        int sayilar[terimsayisi];
        float sayilarintersi[terimsayisi];
        int sayi;

        for(int s=0;s<terimsayisi;s++) {
                printf("%d. sayi? ", s+1);
                scanf("%d", &sayi);
                sayilar[s] = sayi;
        }

        for(int i=0;i<terimsayisi;i++) {
                sayilarintersi[i] = 1.0f / sayilar[i];
        }

        for(int k=0;k<terimsayisi;k++) {
                printf("sayilarintersi[%d] = %.6f    ", k, sayilarintersi[k]);
        }

        return 0;
}

Soyle basit bir kod. Basta 1'e boluyordu ama 1 Integer oldugundan uyari aliyordum 'Muhtemel hassaslik kaybi' diye ve cidden dogru sonuc almiyordum. Sonra 1.0f yapinca Float oldu duzgun sonuc aldim:



Iste o kodundaki tutarsizligin nedeni 1 yazman 1.0f yazman gerek cozum bu cumlede yani
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…