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.
 
İ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:
Screenshot_2021-12-19_14-34-59.png



Iste o kodundaki tutarsizligin nedeni 1 yazman 1.0f yazman gerek cozum bu cumlede yani :D
 
Son düzenleme:

Technopat Haberler

Yeni konular

Geri
Yukarı