1. AYSU GÖKÇE
  2. Proje İsteği
  3. Cumartesi, Aralık 19 2015, 07:52 PM
  4.  E-posta abonesi olun

Dengeli kelimeler: Alfabedeki her bir harfin bir ağırlığı olduğu düşünülürse ve bu ağırlıklar dikkate alınarak kelimeyi herhangi bir harften astığınız düşünülürse bazı kelimeler dengede kalır. İngiliz alfabesindeki harflerin ağırlıkları aşağıdaki tabloda verilmiştir. 


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z  


Buradaki ağırlıklar düşünüldüğünde “wood” kelimesi ilk o harfinden asılırsa dengede kalır.  


w o o d  


23*1=15*1+4*2 Kelimenin toplam ağırlığı 23+15+15+4=57 olacaktır.


Dengeli kelimelere birkaç örnek aşağıda verilmiştir: acceler a tive => 1*7+3*6+3*5+5*4+12*3+5*2+18*1 = 20*1+9*2+22*3+5*4 after p roof => 1*5+6*4+20*3+5*2+18*1 = 18*1+15*2+15*3+6*4 cakem a keR => 3*5+1*4+11*3+5*2+13*1 = 11*1+5*2+18*3 Expl o iter => 5*4+24*3+16*2+12*1 = 9*1+20*2+5*3+18*4 


Giriş dosyasını kullanıcıdan alarak içindeki dengeli kelimeleri, denge konumunu(kaçıncı harf) ve kelimenin toplam ağırlığını, adı kullanıcıdan alınan çıkış dosyasına yazdıran C programını yazınız.


Yukardaki 5 kelime çıkış dosyasına dengeli kelimeler aşağıdaki biçimde yazılacaktır: 


acceler a tive a(7) 103


after p roof p(5) 120


cakem a keR a(5) 68


Expl o iter o(4)  124


w o od o(1) 57 

zuo ksrf Onaylanan Yanıt
0
Votes
Undo

daha önce bir arkadaş içinde çözmüştüm


https://yadi.sk/i/n0aMP8N9mLqnf


-------------


#include<stdio.h>


#include<string.h>


int main()


 


{


int i,b,j,k,l,m;  


char a[50];


scanf("%s",a);


b=strlen(a);//stringin boyu//


for(i=0;i<b;i++)


{


k=0;


l=0;


m=0;


for(j=0;j<i;j++)


{


if(a[j]>='a' && a[j]<='z')


{


k+=(a[j]-96)*(i-j);//küçük a harfinin sıfıra uzklığı=96//


m+=a[j]-96;


}


else


{


k+=(a[j]-64)*(i-j);//büyük A harfinin sıfıra uzaklığı 64//


m+=a[j]-64;


}


 


}


 


for(j=i+1;j<b;j++)


{


 


if(a[j]>='a' && a[j]<='z')


{


l+=(a[j]-96)*(j-i);


m+=a[j]-96;


}


 


else


{


l+=(a[j]-64)*(j-i);


m+=a[j]-64;


}


}


 


if(a[i]>='a' && a[i]<='z')


{


m+=a[i]-96;


}


else


{


m+=a[j]-64;


}


 


if(k==l)


{


for(j=0;j<i;j++)


printf("%c",a[j]);


printf(" ");


printf("%c",a[j]);


printf(" ");


for(j=i+1;j<b;j++)


printf("%c",a[j]);


printf(" ");


 


printf("%c(%d) %d",a[i],i,m);


 


 


 


break;


}


}


 


 


return 0;


 


}


 


 


----------------------

Yorum
There are no comments made yet.
zuo ksrf Onaylanan Yanıt
1
Votes
Undo

anlamadığın yer olursa mesaj atabilirsin.

Yorum
There are no comments made yet.
AYSU GÖKÇE Onaylanan Yanıt
0
Votes
Undo

çok teşekkür ederim :) fakat bunu dosyalama seklinde nasıl yapabilirim.


 

Yorum
There are no comments made yet.
zuo ksrf Onaylanan Yanıt
2
Votes
Undo

Onu da dened'm ama beceremedim.Başka bir arkadaşta aynı soruyu sormuştu.Ama yapamadım. :(

Yorum
There are no comments made yet.
  • Sayfa :
  • 1


There are no replies made for this post yet.
However, you are not allowed to reply to this post.