c++ ödevi için yardımcı olur musunuz ?

TSunami061

MB Üyesi
Kayıt
25 Mart 2017
Mesajlar
3
Tepkiler
0
Yaş
28
Üniv
Atatürk Üniversitesi
merhaba bilgisayar muhendisliginde okuyorum 1. sınıfım da ilk dönem pek iyi geçmedi benim için ödevlerde sıkıntı yaşıyorum. yardımcı olabilicek birileri varsa lütfen bi el atsın..


SORU1)Klavyeden girilen bir tamsayının içindeki en büyük rakamı ve hangi basamak olduğunu bulan c++ kodunu yazınız.
Örnek Çıktılar :
Bir sayı giriniz: 1905
En büyük rakam = 9
Bulunduğu Basamak :Yüzler basamağı

Bir sayı giriniz: 318045
En büyük değer = 8
Bulunduğu Basamak: Binler basamağı

SORU2)
Aşağıdaki işlemleri aynı program içinde yapan c++ kodunu yazınız:
· 3 basamaklı rakamları birbirinden farklı kaç tane pozitif sayı olduğunu bulan ve ekrana yazdıran
· 3 basamaklı rakamları birbirinden farklı pozitif sayılar içinde aralarında asalolan sayıları ekranda yazdıran (2 sayının 1 den başka ortak böleni yoksa aralarında asal sayılardır)
· 3 basamaklı pozitif sayılar içinden mükemmel sayıları ekrana yazdıran (Kendisi hariç pozitif bölenlerinin toplamı kendisine eşit olan sayılara mükemmel sayı denir)
Örnek Çıktılar:
3 basamaklı rakamları farklı ….sayı vardır. Bu sayılar: 102,103, ...
3 basamaklı rakamları farklı aralarında asal sayılar şunlardır : (102-103) , (102-107),(102-109)..
3 basamaklı mükemmel sayılar şunlardır: ….
 

ugurowent

MB Üyesi
Kayıt
25 Mart 2017
Mesajlar
1
Tepkiler
2
Yaş
28
Üniv
Ondokuz Mayıs Üniversitesi
Soru 1)
Öncelikle sana bir sayının nasıl tek tek basamak değerlerini ayıracağın hakkında biraz bilgi vereyim. Bir tam sayının 10 ile modunu alırsan Birler basamağını elde edersin. Bu sayıyı 10'a bölersen de (Programlama mantığında) Birler basamağını atmış olursun. Ör: Sayı = 23 olsun. Sayı % 10 = 3 olur. Daha sonra sayıyı 10 a bölersek, 23 / 10 = 2 olur. Aynı işlemi tekrar yaparsak 2 % 10 = 2. 2 / 10 = 0 olur. (Tam sayı olduğu için 0.20 olmaz direkt 0 olur) Bir sayının tüm basamaklarına bakman için o sayıyı Döngü içinde sürekli 10 a bölüp ve her adımda da % 10 alırsan her basamağı tek tek elde etmiş olursun :) Bundan sonrası ek bir değişken ile en büyük kontrolü. Üstün körü yazıyorum :
int sayi // Kullanicidan alacağın sayı
int enb_basamak= sayi % 10; // Varsayılan olarak sayinin birler basamağını kabul ettik
int sayac = 0; // 0 Birler basamağı demek, 1 Onlar , 2 Yüzler basamağı vs.
while(sayi != 0) {// Sayi 0 a gelene kadar böleceğiz.
int gecici_basamak = sayi % 10;
if (gecici_basamak > enb_basamak){
enb_basamak = gecici_basamak;
sayac = sayac + 1;
}
sayi = sayi / 10; // Sayıyı sürekli 10 a bölüyoruz
}
if (sayac == 0)
print Birler basamağı
else if (sayac == 1)
print Onlar basamağı
. . . şeklinde olabilir :) Kolay gelsin
 
Konu sahibi
Konu sahibi
T

TSunami061

MB Üyesi
Kayıt
25 Mart 2017
Mesajlar
3
Tepkiler
0
Yaş
28
Üniv
Atatürk Üniversitesi
teşekkürler
 

Seçkin Şenol

Özel Üye
Kayıt
31 Temmuz 2016
Mesajlar
155
Tepkiler
73
Yaş
55
Meslek
Elektr./Elektronik Mühendisi & Software Developer
Üniv
Elektr./Elektronik Mühendisi
Selam Tsunami061.
Kisa bir program yazdim SORU-1'i cözen,
ismi "MuhendisBeyinlerTsunami.exe".

Visual Studio 6 ile yazdim bu programi,
yani MFC Control kullandim.

Soru-2'yi anliyamadigim icin yapmadim.
Umarim isine yarar.

Birtütlü *.zip'i ekliyemedim ya.

Bana mail adresini yolla sana programi yollayim.

Benim mail adresim: seckinsenol126@gmx.de

Birdaha deniyorum *.zip olarak yollama isini.
 

Dosyalar

Konu sahibi
Konu sahibi
T

TSunami061

MB Üyesi
Kayıt
25 Mart 2017
Mesajlar
3
Tepkiler
0
Yaş
28
Üniv
Atatürk Üniversitesi
sizede teşekkürler cok sagolun
 
Yukarı Alt