C programlama dili girilen sayıda kaç farklı rakam olduğunu kontrol etme işlemi basit bir şekilde bulabilirsiniz.C de if konusu ele alınmıştır.
C programlama dili girilen sayıda kaç farklı rakam olduğunu kontrol etme işlemi basit bir şekilde bulabilirsiniz. Bu kontrol işlemi 4 basamaklı bir sayı ile örneklendirip verilmiştir. Bu işlem ile if kavramını çok iyi anlamış olacaksınız.
- Kullanıcıdan 4 basamaklı sayı alınır. Eğer 4 basamaklı sayı girilmez ise hata mesajı ekrana yazdırılır ve program sonlandırılır.
- Birler, onlar, yüzler ve binler basamağı bulunur ve değişkenlere ataması yapılır.
- Maksimum 4 farklı rakam girileceğinden basSayi=4 ile başlanılır ve basamaklar tek tek kontrol edilir.
- Eğer aynı rakam var ise o rakam negatif bir sayı ile değiştirilir.(Rastgele bir sayıda atanılabilir. Tekrar o basamağı kontrol etmemek için yapılmıştır.)
- En son ekrana kaç basamaklı olduğu yazdırılır.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#include <stdio.h>
#include <stdlib.h>
int main(){
int sayi, gecici, basBir, basIki, basUc, basDort, basSayi = 4;
printf("Sayi giriniz: ");
scanf("%d", &sayi);
if(sayi>999 && sayi<10000){ //4 basamaklı bir sayı girilmez ise işlem yapma
gecici = sayi; //Kullanıcının girdiği değeri kaybetmemek için geciciye atama yapılır
basBir = gecici % 10; // Birler basamağı bulunur
gecici = gecici / 10;
basIki = gecici % 10; // Onlar basamağı bulunur
gecici = gecici / 10;
basUc = gecici % 10; // Yüzler basamağı bulunur
gecici = gecici / 10;
basDort = gecici; // Binler basamağı bulunur
if(basBir == basIki){ //Birler ile onlar karşılaştırılır
basSayi--; //Aynı ise 4 den düşme işlemi yapılır
basIki = -1; //Onlar basamağı tekrar kontrol ettirmemek için negatif değer verilir
}
if(basBir == basUc){
basSayi--;
basUc = -1;
}
if(basBir == basDort){
basSayi--;
basDort = -1;
}
if(basIki == basUc && basIki != -1){
basSayi--;
basUc = -1;
}
if(basIki == basDort && basIki != -1){
basSayi--;
basDort = -1;
}
if(basUc == basDort && basUc != -1){
basSayi--;
}
printf("Girilen sayi icerisinde %d farkli rakam vardir", basSayi);
}
else{
printf("Lutfen 4 basamakli sayi giriniz");
}
printf("\n");
system("pause");
return 0;
}
|