lostyazilim
tr.link

C Ödevim | Çok acil yardim !

9 Mesajlar 1.418 Okunma
lstbozum
tr.link

Ripped Ripped Serçe Development Kimlik Onayı
  • Üyelik 20.10.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek SEO & Software
  • Konum Adana
  • Ad Soyad A** K**
  • Mesajlar 372
  • Beğeniler 94 / 94
  • Ticaret 11, (%100)
Merhaba arkadaşlar,bilgisayar mühendisliği birinci sınıf öğrencisiyim ve ödevlerden birini yaparken çok zorlandım.Yardımcı olabilirseniz sevinirim...

Ödev;

Kullanıcıdan 5 adet karakter girmesini istiyor.

Eğer karakterlerin hepsi sayı ise asal olup olmadığına bakıyor ve yazdırıyor.
Eğer karakterlerin hepsi alfabetik ise hepsini büyük harf yapıyor ve yazdırıyor.
Eğer karakterler alphanumeric ise tersini yazdırıyor.

Hoca aşağıdaki kodu verip bunu tamamlayın dedi.

#include
int a1,a2,a3,a4,a5;
void get5char()
{
a1 = getchar();
a2 = getchar();
a3 = getchar();
a4 = getchar();
a5 = getchar();
}

// Check if c is in Alphabet
int isAlphabet(int c)
{
return 0; // True
}

//Check if c is a digital number
int isDigit(int c)
{
return 0; //True
}

// Check to see if all parameters are alphabetic
int isAlphabetic(int a1, int a2,int a3,int a4, int a5)
{

return 0; //True
}

// Check to see if all parameters are numeric
int isNumeric(int a1,int a2, int a3,int a4,int a5)
{

return 0; //True
}

// Check to see if all parameters are alpha-numeric
int isAlphaNumeric(int a1, int a2,int a3,int a4,int a5)
{

return 0; //True
}

// convert all parameters
int charTonumber(int a1, int a2, int a3, int a4, int a5)
{

return 0; //True
}

// Check to see if n is a prime number
int isPrime(int n)
{
return 0;
}

// convert a1, a2, a3,a4, a5 to uppercase
void lowerToupper()
{

}

int main()
{
get5char();
}
 

 

wmaraci
reklam

ennrh ennrh WM Aracı Kullanıcı
  • Üyelik 16.03.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad E** K**
  • Mesajlar 451
  • Beğeniler 38 / 78
  • Ticaret 7, (%100)
Kodunu yazacak zamanım yok ama algoritma taktikleri verebilirim. Öncelikle bütün karakterlerin ascii tablosundaki değerlerini bul. String tipindeki bir karakterin int tipindeki değeri onun ascii tabloundaki değeridir. Örnek olarak:

0-9 arası rakamlar ascii de (50,40] arasına denk geliyorsa mesela

if(a1<50 && a1>=40) {
// a1 rakamdır sonucuna ulaşırız.
}

Sonra asal kontrolü için sayının yarısından itibaren birer azaltarak bölmeye başlarız. Bu arada her tam bölündüğünde sayaç tutarız. Sayaç 1 ise yani sadece 1 e tam bolunuyorsa asaldır.

Aynı şekilde küçük harf ve büyük harf durumunda ascii tablosunda aralarında sabit bir sayı vardır. Örnek olarak a ile A arasında 30 varsa b ile B arasında da 30 vardır. Karakterin harf olduğunu bulunca ascii değerine +30 ekleyip basıyorsun ekrana.

Alfanümerik kısmını pek anlayamadım. Bu kadar yardım edebildim dostum. Yazdıklarım üzerinde düşünürsen birazda araştırırsan yaparsın.
 

 

http://www.pubtekno.com

Ripped Ripped Serçe Development Kimlik Onayı
  • Üyelik 20.10.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek SEO & Software
  • Konum Adana
  • Ad Soyad A** K**
  • Mesajlar 372
  • Beğeniler 94 / 94
  • Ticaret 11, (%100)

ennrh adlı üyeden alıntı

Kodunu yazacak zamanım yok ama algoritma taktikleri verebilirim. Öncelikle bütün karakterlerin ascii tablosundaki değerlerini bul. String tipindeki bir karakterin int tipindeki değeri onun ascii tabloundaki değeridir. Örnek olarak:

0-9 arası rakamlar ascii de (50,40] arasına denk geliyorsa mesela

if(a1<50 && a1>=40) {
// a1 rakamdır sonucuna ulaşırız.
}

Sonra asal kontrolü için sayının yarısından itibaren birer azaltarak bölmeye başlarız. Bu arada her tam bölündüğünde sayaç tutarız. Sayaç 1 ise yani sadece 1 e tam bolunuyorsa asaldır.

Aynı şekilde küçük harf ve büyük harf durumunda ascii tablosunda aralarında sabit bir sayı vardır. Örnek olarak a ile A arasında 30 varsa b ile B arasında da 30 vardır. Karakterin harf olduğunu bulunca ascii değerine +30 ekleyip basıyorsun ekrana.

Alfanümerik kısmını pek anlayamadım. Bu kadar yardım edebildim dostum. Yazdıklarım üzerinde düşünürsen birazda araştırırsan yaparsın.




Çok teşekkürler,tapatalk kullandığım için unutmuştum dönüş yapmayı.


Tapatalk kullanarak iPhone aracılığıyla gönderildi
 

 

ennrh ennrh WM Aracı Kullanıcı
  • Üyelik 16.03.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad E** K**
  • Mesajlar 451
  • Beğeniler 38 / 78
  • Ticaret 7, (%100)
Ripped Rica ederim.
 

 

http://www.pubtekno.com
wmaraci
wmaraci

SoftwareDeveloper SoftwareDeveloper WM Aracı Kullanıcı
  • Üyelik 18.08.2016
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Mühendisliği
  • Konum İstanbul Avrupa
  • Ad Soyad E** S**
  • Mesajlar 79
  • Beğeniler 4 / 36
  • Ticaret 1, (%100)

ennrh adlı üyeden alıntı

Kodunu yazacak zamanım yok ama algoritma taktikleri verebilirim. Öncelikle bütün karakterlerin ascii tablosundaki değerlerini bul. String tipindeki bir karakterin int tipindeki değeri onun ascii tabloundaki değeridir. Örnek olarak:

0-9 arası rakamlar ascii de (50,40] arasına denk geliyorsa mesela

if(a1<50 && a1>=40) {
// a1 rakamdır sonucuna ulaşırız.
}

Sonra asal kontrolü için sayının yarısından itibaren birer azaltarak bölmeye başlarız. Bu arada her tam bölündüğünde sayaç tutarız. Sayaç 1 ise yani sadece 1 e tam bolunuyorsa asaldır.

Aynı şekilde küçük harf ve büyük harf durumunda ascii tablosunda aralarında sabit bir sayı vardır. Örnek olarak a ile A arasında 30 varsa b ile B arasında da 30 vardır. Karakterin harf olduğunu bulunca ascii değerine +30 ekleyip basıyorsun ekrana.

Alfanümerik kısmını pek anlayamadım. Bu kadar yardım edebildim dostum. Yazdıklarım üzerinde düşünürsen birazda araştırırsan yaparsın.


Burada bir ekleme yapmak istiyorum. Performans açısından, asal kontrolü yaparken sayının yarısına değil, kareköküne kadar bakmak daha hızlı olacaktır. Çünkü bir sayının asal bölenleri, o sayının karekökünden büyük olamaz.

Onun dışında aslında asal sayı bulmak için daha iyi algoritmalar var, fermat eular ve modüler aritmatik kullanılarak. Örneğin miller-rabin algoritmasını araştırabilirsiniz.

Gerçi hocanızın sorduğu soru için kareköküne kadar hesaplamanız yeterli.
 

 

php, java, python - django, nodejs, vuejs, reactjs, angularjs, c# asp.net mvc...

Ripped Ripped Serçe Development Kimlik Onayı
  • Üyelik 20.10.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek SEO & Software
  • Konum Adana
  • Ad Soyad A** K**
  • Mesajlar 372
  • Beğeniler 94 / 94
  • Ticaret 11, (%100)
Herkese teşekkürler,şu an bayağı yol kat etti hoca. Pong game ve dropdown menü yaptırıyor. Zorlanıyoruz ama yapıcaz inşallah :)


Tapatalk kullanarak iPhone aracılığıyla gönderildi
 

 

ennrh ennrh WM Aracı Kullanıcı
  • Üyelik 16.03.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad E** K**
  • Mesajlar 451
  • Beğeniler 38 / 78
  • Ticaret 7, (%100)

SoftwareDeveloper adlı üyeden alıntı

Burada bir ekleme yapmak istiyorum. Performans açısından, asal kontrolü yaparken sayının yarısına değil, kareköküne kadar bakmak daha hızlı olacaktır. Çünkü bir sayı karekökünden büyük bir sayıya bölünemez zaten.

Onun dışında aslında asal sayı bulmak için daha iyi algoritmalar var, fermat eular ve modüler aritmatik kullanılarak. Örneğin miller-rabin algoritmasını araştırabilirsiniz.

Gerçi hocanızın sorduğu soru için kareköküne kadar hesaplamanız yeterli.


Bir sayı karekökünden daha büyük sayıya bölünebilir hocam. 16 nın karekökü 4 ama 8 e bölünüyor mesela. Asal sayı ile ilgili o algoritmaları bilmiyordum teşekkürler onun için.
 

 

http://www.pubtekno.com

argun argun WM Aracı Kullanıcı
  • Üyelik 31.08.2016
  • Yaş/Cinsiyet 29 / E
  • Meslek öğrenci
  • Konum Konya
  • Ad Soyad M** A**
  • Mesajlar 21
  • Beğeniler 1 / 3
  • Ticaret 0, (%0)
öncelikle if yaparsın asal sayı için
if else yaparsın karakter için
if else dersin nümeik için
bunlar harince girerse else der bititrsin
 

 

SoftwareDeveloper SoftwareDeveloper WM Aracı Kullanıcı
  • Üyelik 18.08.2016
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Mühendisliği
  • Konum İstanbul Avrupa
  • Ad Soyad E** S**
  • Mesajlar 79
  • Beğeniler 4 / 36
  • Ticaret 1, (%100)

ennrh adlı üyeden alıntı

Bir sayı karekökünden daha büyük sayıya bölünebilir hocam. 16 nın karekökü 4 ama 8 e bölünüyor mesela. Asal sayı ile ilgili o algoritmaları bilmiyordum teşekkürler onun için.


Pardon, yanlış ifade etmişim, orada demek istediğim bir sayının asal bölenleri, o sayının karekökünden büyük olamaz. Yani kareköke kadar bakılması yeterlidir.
 

 

php, java, python - django, nodejs, vuejs, reactjs, angularjs, c# asp.net mvc...
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al