lostyazilim
tr.link

C Ödevim İçin Yardım Eder Misiniz? Girilen Karakterlerin Sayısı

4 Mesajlar 783 Okunma
acebozum
tr.link

gorkemg1234 gorkemg1234 WM Aracı Kullanıcı
  • Üyelik 11.07.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek Ögrenci
  • Konum Bursa
  • Ad Soyad G** G**
  • Mesajlar 191
  • Beğeniler 0 / 12
  • Ticaret 3, (%100)
Merhabalar, c ödevim için yardım gerekli. Çok fazla C bilmiyorum notuma etki edecek. Yardım ederseniz çok sevinirim.


Her kodlanan girdi (karakterlerden oluşan grup) yeni satır (‘\n’) karakteriyle sonlanacaktır.

Her girdiden sonra, kullanıcıya devam edip etmemek istediği sorulmalı ve kullanıcı devam etmek istemeyene kadar yeni girdiler kodlanıp elde edilen sonuçlar çıktılanmalıdır.

Devam etme isteği ‘d’ veya ‘D’, bitirme isteği ‘b’ veya ‘B’ ile belirtilmelidir. Başka karakter
girişleri olursa, doğru giriş olana kadar kullanıcıya yeniden sorulmalıdır.

Aşağıda çıktısı bulunmaktadır.



Karakterler girin: aaaXXyyyyZ+++bb+++++77
Sonuc: 3a2X4y1Z3+2b5+27
Devam (d/D – b/B)?: D

Karakterler girin: ***++000ttt??uuuu
Sonuc: 3*2+303t2?4u
Devam (d/D – b/B)?: t
Devam (d/D – b/B)?: 5
Devam (d/D – b/B)?: d

Karakterler girin: dersssssbitttti
Sonuc: 1d1e1r5s1b1i4t1i
Devam (d/D – b/B)?: D

Karakterler girin: !!!!!!!!!
Sonuc: 9!
Devam (d/D – b/B)?: D

Karakterler girin: ......8888eeeeeww----
Sonuc: 6.485e2w4-
Devam (d/D – b/B)?: w
Devam (d/D – b/B)?: Q
Devam (d/D – b/B)?: B
Program sonlandi...
 

 

elektronikssl
webimgo

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Siz ne yaptınız hocam? Nerede takıldınız onu paylaşırsanız yardımcı oluruz
 

 

gorkemg1234 gorkemg1234 WM Aracı Kullanıcı
  • Üyelik 11.07.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek Ögrenci
  • Konum Bursa
  • Ad Soyad G** G**
  • Mesajlar 191
  • Beğeniler 0 / 12
  • Ticaret 3, (%100)
hocam ben burda takıldım şöyle kodu veriyim



41
42
43
#include
#include

int main()
{
char s[1000];
int i,j,k,count=0,n;

printf("Enter the string : ");
gets(s);

for(j=0;s[j];j++);
n=j;

printf(" frequency count character in string:\n");

for(i=0;i {
count=1;
if(s[i])
{

for(j=i+1;j {

if(s[i]==s[j])
{
count++;
s[j]='\0';
}
}
printf(" '%c' = %d \n",s[i],count);



}


}


return 0;
}



En başta:
Karakterler girin: aaaXXyyyyZ+++bb+++++77
Sonuc: 3a2X4y1Z3+2b5+27
Devam (d/D – b/B)?: D

şu oldugu yerde benim. kodumda
3a2X4y1Z8+2b27
yazıyor yani 8+ yerine 3+ ve 5+ olarak olması gerek tam hizalanması gerekli
 

 

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Hocam buradaki sıkıntı charların devamında da + geldiği için kodunuz ayrımını yapamıyor.


kodunuzun şu kısmını düzenledim ben siz daha iyi bir flag koyarak çözebilirsiniz örneğin bool bir değer;



for (i = 0; i < n; i++)
{
int harfBittiMi = 0;
count = 1;
if (s[i])
{

for (j = i + 1; j < n; j++)
{

if (s[i] == s[j] && harfBittiMi != 0)
{
count++;
s[j] = '\0';
}
else
{
harfBittiMi = 1;
}
}
printf(" '%c' = %d \n", s[i], count);

}
}


 

 

wmaraci
wmaraci
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al