NoWeDoR
Cool Çırak
Öncelikle merhabalar ,
sorum mallocla ilgili ,
istenen şey kullanıcı bir cümle girecek ve malloc ile yer ayırıp bu cümleyi sonradan tersine çevireceğiz. Bu nasıl mümkün olur?
Aşağıdaki gibi sayılarla işlem yapınca sayıları tersine çevirebiliyorum... Daha doğrusu ne kadar yer ayrılacağını kullanıcıdan aldığım için iş kolay oluyor... ama işin içine miktar belirtme olayının zorluğu girince yapamadım bir türlü. Yani kullanıcı cümle girecek bunun uzunluğunca yer ayrılacak sonra cümle tersine çevrilecek , nasıl yer ayırabilirim?
lütfen yardım !!
---
Bahsettiğim kod ;
#include <stdio.h>
#include <stdlib.h>
float terscevir(float dizi[],int adet)
{
float *tut;
int i;
tut=(float*)malloc(sizeof(float)*adet);
for(i=0; i<adet; i++)
{
tut=dizi;
}
return tut;
}
int main()
{
float *sayilar;
int sayiAdeti,i,x=0;
printf("Ters siralanis icin kac adet sayi gireceginizi belirtiniz : ");
scanf("%d",&sayiAdeti);
sayilar=(float*)malloc(sizeof(float)*sayiAdeti);
printf("\n");
for(i=0; i<sayiAdeti; i++)
{
printf("%d. sayinizi giriniz : ",i+1);
scanf("%f",&sayilar);
}
terscevir(sayilar,sayiAdeti);
printf("\nGirilen degerlerin ters siralanmis hali ;\n\n");
for(i=sayiAdeti-1; i>=0; i--)
{
printf("%d. yeni sayiniz : %.2f\n",x+1,sayilar);
x+=1;
}
return 0;
}
sorum mallocla ilgili ,
istenen şey kullanıcı bir cümle girecek ve malloc ile yer ayırıp bu cümleyi sonradan tersine çevireceğiz. Bu nasıl mümkün olur?
Aşağıdaki gibi sayılarla işlem yapınca sayıları tersine çevirebiliyorum... Daha doğrusu ne kadar yer ayrılacağını kullanıcıdan aldığım için iş kolay oluyor... ama işin içine miktar belirtme olayının zorluğu girince yapamadım bir türlü. Yani kullanıcı cümle girecek bunun uzunluğunca yer ayrılacak sonra cümle tersine çevrilecek , nasıl yer ayırabilirim?
lütfen yardım !!
---
Bahsettiğim kod ;
#include <stdio.h>
#include <stdlib.h>
float terscevir(float dizi[],int adet)
{
float *tut;
int i;
tut=(float*)malloc(sizeof(float)*adet);
for(i=0; i<adet; i++)
{
tut=dizi;
}
return tut;
}
int main()
{
float *sayilar;
int sayiAdeti,i,x=0;
printf("Ters siralanis icin kac adet sayi gireceginizi belirtiniz : ");
scanf("%d",&sayiAdeti);
sayilar=(float*)malloc(sizeof(float)*sayiAdeti);
printf("\n");
for(i=0; i<sayiAdeti; i++)
{
printf("%d. sayinizi giriniz : ",i+1);
scanf("%f",&sayilar);
}
terscevir(sayilar,sayiAdeti);
printf("\nGirilen degerlerin ters siralanmis hali ;\n\n");
for(i=sayiAdeti-1; i>=0; i--)
{
printf("%d. yeni sayiniz : %.2f\n",x+1,sayilar);
x+=1;
}
return 0;
}