C Programlama Dili

25 Eyl 2013
76
0
Kod:
#include <stdio.h>
main()
{int x,i;
printf("Lutfen bi sayi giriniz:\n");
scanf("%d",&x);
if(1==x/100000)
i++;
if(1==x/10000)
i++;
if(1==x/1000)
i++;
if(1==x/100)
i++;
if(1==x/10)
i++;
if(1==x/1)
i++;
printf("Girdiğiniz sayi icinde %d tane 1 bulunmaktadir\n",i);
}
Sayi içindeki 1 lerin sayisini bulmak için ne yapabilirim?
 

KaraPapak36

Katılımcı Üye
28 Nis 2016
657
1
Buyur kardeşim güle güle kullan,
hata olursa bildir ben denedim bir sürü sayı doğru hesapladı sende denemeyi unutma

Kod:
#include <stdio.h>
#include <math.h>
int hesp(int R)
{
	int z=10,e=1,r=1;
	tekrar:
	if(z*e>R)
	{
	return(r);
	}else
	{
		r=r+1;
		e=e*10;		
		goto tekrar;	
	}	
}
main()
{
	int x,y,i,z;
	int bir_var=0;
	int arttirma=0;
	
	printf("Lutfen bi sayi giriniz:");
	scanf("%d",&x);
		
	devam:
	y=hesp(x);
	i=x-pow(10,y-1);
	z=hesp(i);	
		
	if(y==z)
	{			
		arttirma=1;
	}
	else
	{  
	    if(arttirma!=1)
		{
			bir_var++;				
		}			
		arttirma=0;			
	}
		
	if(z>1)
	{
		x=i;				
		goto devam;
	}
	else
	{
		if(i==1)
		{
			bir_var++;
		}
	}	
	printf("%d tane bir var!",bir_var);
		
}

Created by KaraPapak
 

KaraPapak36

Katılımcı Üye
28 Nis 2016
657
1
Al bu da fonksiyon kullanılmadan yazılmış hali:
Kod:
#include <stdio.h>
#include <math.h>
int main()
{
	int x,y,i,z;
	int bir_var=0;
	int arttirma=0;
	
	printf("Lutfen bi sayi giriniz:");
	scanf("%d",&x);
		
	devam:
	int R=x;
	
	int C=10,e=1,r=1;
	
	tekrar:
	if(C*e>R)
	{
	goto in1;
	}else
	{
		r=r+1;
		e=e*10;		
		goto tekrar;	
	}		
	in1:
	y=r;
	
	i=x-pow(10,y-1);
	
	R=i;
	
	C=10;e=1;r=1;
	
	bida:
	if(C*e>R)
	{
    goto in2;
	}else
	{
		r=r+1;
		e=e*10;		
		goto bida;	
	}
	in2:		
	z=r;	
		
	if(y==z)
	{			
		arttirma=1;
	}
	else
	{  
	    if(arttirma!=1)
		{
			bir_var++;				
		}			
		arttirma=0;			
	}
		
	if(z>1)
	{
		x=i;				
		goto devam;
	}
	else
	{
		if(i==1)
		{
			bir_var++;
		}
	}	
	printf("%d tane bir var!",bir_var);
		
}

Created by KaraPapak
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.