Arkadaşlar C Ödevim Yardımcı Olur Musunuz?
-
Kefil olduğum birinin bu tip şeylere ilgi duyması güzel.
Derdin olursa konu açmaktan çekinme.
Ayrıca Esquire değişkenlerine açıklayıcı isimler versen daha bir güzel olur.
-
musket tavsiyen için teşekkur ederim.
-
arkadaşlar gerçekten çok teşekkür ederim elleriniz dert görmesin... bana vakit ayırdığınız için Allah razı olsun hepinizden...:)
-
Merhaba. Eline ve beynine sağlık Musket ama gönderdiğin cevaplarda ufak hatalar var.
İlk soruda product += i/factorial(i);
Bir integer değeri başka bir integer değere bölerek 3. bir integer değere atıyorsun, bu işlemi yaparak ondalıklı sayı kesinliğini kaybetmiş oluruz. float veya double kullanmak doğru sonucu verecektir. Ayrıca C'de fonksiyon kullanımları Java'daki kadar kolay değildir. İmplement ettiğin bir fonksiyonun declaration'ınını çağırdığın yerden önceki bir yerde yapmak zorundasın.
İkinci soruda 2 sayısının asal olmadığını söylemişsin, 2 asal olan tek çift sayıdır. Ayrıca yazmış olduğun fonksiyon 4 sayısını da asal olarak değerlendirmektedir ki bu da hatalıdır.
Üçüncü soruda int first = random(8) + 1; int second = random(8) + 1;
satırları 1 ile 8 arasında değer verir.
Aşağıdakiler kompleksitileri optimum olan hatasız cevaplardır.
#include <stdio.h>
float function(int x){
float retVal = 0.0;
float denominator = 1.0;
for(int i=1;i<=x;i++){
denominator *= i;
retVal += i/denominator;
}
return(retVal);
}
int main(){
char c;
for(int i=1;i<=10;i++){
printf("%f\n",function(i));
}
printf("Press enter to exit.");
scanf("%c",&c);
return(0);
}---------------------------------------------------------------------
#include <stdio.h>
int isPrime(int num){
if(num<2){
return(0);
}
if(num==2){
return(1);
}
for(int i=2;i<num;i++){
if(num%i==0){
return(0);
}
}
return(1);
}
int main(){
char c;
int counter = 0;
for(int i=1;i<=100;i++){
if(isPrime(i)==1){
printf("%d\n",i);
counter++;
}
}
printf("Num. of primes: %d\n",counter);
printf("Press enter to exit.");
scanf("%c",&c);
return(0);
}
---------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
srand(time(NULL));
int a = rand()%9 + 1;
int b = rand()%9 + 1;
int ans = 0;
while(true){
printf("How much is %d times %d? ",a,b);
scanf("%d",&ans);
if(ans != (a*b)){
printf("No. Please try again\n");
}else{
break;
}
}
return(0);
}
-
Destroyer bunu yazdı:
-----------------------------Merhaba. Eline ve beynine sağlık Musket ama gönderdiğin cevaplarda ufak hatalar var.
İlk soruda product += i/factorial(i);
Bir integer değeri başka bir integer değere bölerek 3. bir integer değere atıyorsun, bu işlemi yaparak ondalıklı sayı kesinliğini kaybetmiş oluruz. float veya double kullanmak doğru sonucu verecektir. Ayrıca C'de fonksiyon kullanımları Java'daki kadar kolay değildir. İmplement ettiğin bir fonksiyonun declaration'ınını çağırdığın yerden önceki bir yerde yapmak zorundasın.
İkinci soruda 2 sayısının asal olmadığını söylemişsin, 2 asal olan tek çift sayıdır. Ayrıca yazmış olduğun fonksiyon 4 sayısını da asal olarak değerlendirmektedir ki bu da hatalıdır.
Üçüncü soruda int first = random(8) + 1; int second = random(8) + 1;
satırları 1 ile 8 arasında değer verir.
-----------------------------
int konusunda haklısın ^^,
Ancak random konusunda olmadığını düşünüyorum.
Ancak compiler'ım bile yok açıkcası ^^,
