C++'Da Biraz Yardım Eder Misiniz ?
-
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define HataGiris "Hatali Giris"
#define HataUzun "Max. 6 Basamakli Olmalidir"
#define Eksi "Eksi"
#define Sifir "Sifir"
#define Bir "Bir"
#define Iki "Iki"
#define Uc "Uc"
#define Dort "Dort"
#define Bes "Bes"
#define Alti "Alti"
#define Yedi "Yedi"
#define Sekiz "Sekiz"
#define Dokuz "Dokuz"
#define On "On"
#define Yirmi "Yirmi"
#define Otuz "Otuz"
#define Kirk "Kirk"
#define Elli "Elli"
#define Altmis "Altmis"
#define Yetmis "Yetmis"
#define Seksen "Seksen"
#define Doksan "Doksan"
#define Yuz "Yuz"
#define Bin "Bin"
#define Milyon "Milyon"
char * tek_getir(const unsigned char tek){
char tamponokunus[23];
sprintf(tamponokunus,"");
switch(tek){
case '0':return Sifir;
case '1':return Bir;
case '2':return Iki;
case '3':return Uc;
case '4':return Dort;
case '5':return Bes;
case '6':return Alti;
case '7':return Yedi;
case '8':return Sekiz;
case '9':return Dokuz;
}
}
char * cift_getir(const unsigned char cift){
switch(cift){
case '1':return On;
case '2':return Yirmi;
case '3':return Otuz;
case '4':return Kirk;
case '5':return Elli;
case '6':return Altmis;
case '7':return Yetmis;
case '8':return Seksen;
case '9':return Doksan;
}
}
char * yuz_getir(const unsigned char yuz){
char * tamponokunus=(char*)malloc(10);
sprintf(tamponokunus,"");
if(yuz>1){
strcat(tamponokunus,tek_getir(yuz));
strcat(tamponokunus," ");
}
strcat(tamponokunus,Yuz);
return tamponokunus;
}
char * okunus(signed long int sayi){
char * tamponokunus=(char*)malloc(35);
char * tampon=(char*)malloc(35);
char * tampontam=(char*)malloc(6);
char * tamponsayi=(char*)malloc(3);
char * tamponparca[2];
tamponparca[0]=(char*)malloc(3);
tamponparca[1]=(char*)malloc(3);
tamponparca[2]=(char*)malloc(3);
static int i,j,k;
k=0;
sprintf(tamponokunus,"");
if(sayi<0){
sayi=0-sayi;
k=1;
}
sprintf(tampontam,"%d",sayi);
printf("\n%s\n",tampontam);
for(i=2;i>0;i--)
strncpy(tamponparca[i-1],&tampontam[strlen(tampontam)-(i*3)],3);
for(i=1;i>=0;i--){
j=atoi(tamponparca[i]);
sprintf(tamponsayi,"%s%d",
(j<1?"000":(j<10?"00":(j<100?"0":""))),
j);
if(tamponsayi[0]!='0'){
strcat(tamponokunus,yuz_getir(tamponsayi[0]));
strcat(tamponokunus," ");
}
if(tamponsayi[1]!='0'){
strcat(tamponokunus,cift_getir(tamponsayi[1]));
strcat(tamponokunus," ");
}
if(tamponsayi[2]!='0'){
strcat(tamponokunus,tek_getir(tamponsayi[2]));
strcat(tamponokunus," ");
}
if(i==1&&strlen(tamponokunus)>0){
strcat(tamponokunus,Bin);
strcat(tamponokunus," ");
}
}
sprintf(tampon,"%s %s",(k==1?Eksi:""),tamponokunus);
return tampon;
}
int main(int argc, char *argv[]){
static int i,j;
static char * tampon=(char*)malloc(6);
j=0;
printf("Okunacak sayiyi giriniz : ");
gets(tampon);
if(strlen(tampon)>6)
j=2;
for(i=0;i<strlen(tampon);i++)
if(!isdigit(tampon[i])&&tampon[i]!='-')
j=1;
if(j==1)
printf(HataGiris);else
if(j==2)
printf(HataUzun);else{
printf(okunus(atoi(tampon)));
}
getch();
return 1;
}
şunun neresini çözemedin bilmiyorum hala. -
abi 3 haneli sayıdan sonra saçmalamaya başlıyor.
mesele 999 yazdığımda Dokuz Yüz Doksan Dokuz yazıyor ama9999 yazdığımda Dokuz Dokuz Yüz Doksan Dokuz yazıyor :/
-
Coiner bunu yazdı:
-----------------------------SinusX bunu yazdı:
-----------------------------Coiner bunu yazdı:
-----------------------------sLeymN bunu yazdı:
-----------------------------hocam ne yapmışsın anlamadım baya bir karıştırmışsın sen..
for(int i=1; i
sonuc = sonuc*taban;
}
bu şekilde bulabilirsin :/
-----------------------------integer değil hocam sayılar. Mesela 2.56'nın 3.65. üssünü bulacak program :/ evet karıştı biraz ama iyice düğüme girdim çözemiyorum :/
-----------------------------orda işler değişiyor ama üslü sayı integerlar arası işlem yapar mantık olarak yani 2.56 dediği 256/100 oluyor o da 256 ıncı kuvvetinin 100. dereceden kökü oluyor
http://en.wikipedia.org/wiki/Exponentiation#Real_powers_of_positive_numbers
-----------------------------
kafa programcılığa gıdım basmıyor desem :S
-----------------------------Yok o programcılık değil matematik kısmı işin :) programlamadan önce matematikte gözden geçirmek gerekiyor biraz
-
SinusX bunu yazdı:
-----------------------------Coiner bunu yazdı:
-----------------------------SinusX bunu yazdı:
-----------------------------Coiner bunu yazdı:
-----------------------------sLeymN bunu yazdı:
-----------------------------hocam ne yapmışsın anlamadım baya bir karıştırmışsın sen..
for(int i=1; i
sonuc = sonuc*taban;
}
bu şekilde bulabilirsin :/
-----------------------------integer değil hocam sayılar. Mesela 2.56'nın 3.65. üssünü bulacak program :/ evet karıştı biraz ama iyice düğüme girdim çözemiyorum :/
-----------------------------orda işler değişiyor ama üslü sayı integerlar arası işlem yapar mantık olarak yani 2.56 dediği 256/100 oluyor o da 256 ıncı kuvvetinin 100. dereceden kökü oluyor
http://en.wikipedia.org/wiki/Exponentiation#Real_powers_of_positive_numbers
-----------------------------
kafa programcılığa gıdım basmıyor desem :S
-----------------------------Yok o programcılık değil matematik kısmı işin :) programlamadan önce matematikte gözden geçirmek gerekiyor biraz
-----------------------------
laf sokuyosun ama hocam takmıyorum merak etme matematikte zayıf tamam kabul ettim ama yardım edersen daha yararlı olucak :) -
math.h kütüphanesini ekleyip pow fonksiyonu ile üs alabilirsin.
-
mRBerkay bunu yazdı:
-----------------------------math.h kütüphanesini ekleyip pow fonksiyonu ile üs alabilirsin.
-----------------------------1. sayfanın sonundaki konu ile ilgili yardımcı olabilirmisin hocam ?
-
Coiner bunu yazdı:
-----------------------------sLeymN bunu yazdı:
-----------------------------hocam ne yapmışsın anlamadım baya bir karıştırmışsın sen..
for(int i=1; i
sonuc = sonuc*taban;
}
bu şekilde bulabilirsin :/
-----------------------------integer değil hocam sayılar. Mesela 2.56'nın 3.65. üssünü bulacak program :/ evet karıştı biraz ama iyice düğüme girdim çözemiyorum :/
-----------------------------onu böyle üs kadar çarp şeklinde bulamazsın
http://tr.wikipedia.org/wiki/Taylor_serisi
burayı bir incele faydası olur
http://www.wolframalpha.com/input/?i=taylor%20a%5Ex&t=optb01
-
kolay gelsin.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
system ("color d");
float us(float,int);
int n;
float x;
printf("\nTaban (x degeri) : ");
scanf("%f",&x);
printf("us (y degeri) : ");
scanf("%d",&n);
printf("\nsonuc : %3.2f\n",us(x,n));
system("PAUSE");
return 0;
}
float us(float x,int y){
if(x==0) return (1);
if(x>0 && y==0) return (1);
if(x>0 && y==1) return (x);
if(x>0 && y>1) return us(x,(y-1))*x;
}