DERS GÜNLÜĞÜM 3 AYRINTILI VERSİYON

 

25 MAYIS ALGORİTMA DERSİ ÖĞRENDİKLERİM: Karakter Dizisi,Matrisler

KAZANIMLAR:

Kullanıcının girdiği bir kelimeyi karakter dizisine atar ve ekrana yazdırır.

ASCII Karakter Tablosu

Girilen bir kelimenin uzunluğunu bulur ve tersten yazdırır

Girilen bir kelimedeki büyük harfleri küçük harfe,küçük harfleri ise büyük harfe dönüştür.

Girilen kelimenin harflerinden oluşan bir dik üçgen figürü oluşturur.

 

BÖLÜM 1 KARAKTER DİZİLERİ VE UYGULAMALARI

Kelime (string) char olarak karakter dizisi şeklinde tanımlanmalıdır boyutu 100 girmek yeterlidir çekoslavakyalaştırılamadıklarımızdanmısın bile 100 harfli olmadığından bu boyut yeterlidir.

Yani kullanıcıdan bir kelime girmesini istediysek bunu

1.       Adım TANIMLAMA:   char kelime[100]

şeklinde tanımlamalıyız.

Karakter grubuna string adı verilir ve s ile gösterilir.

Kelimeler birden çok karakterden oluştuğundan stringdir.

2.       Adım KULLANICININ KELİME GİRMESİ:    

scanf(“%s”, kelime);

3.       Adım KONTROL:    

Kullanıcını girdiği kelimeyi bilgisayar algıladımı?

 

printf(“%s”, kelime);

4.       Adım GİRİLEN KELİMENİN UZUNLUĞUNU BULMA

Uzunluk bir tam sayı olduğundan integer olarak tanımlanır:

 İnt uzunluk

For döngüsü yardımıyla karakter dizisinde null yani ‘\0’ karakterine kadar gidilir.

Örnegin gamze 5 harfli bir isimdir karakterleri ‘g’ ‘a’ ‘m’ ‘z’ ‘e’ ve ‘\0’dır bu ‘\0’ kelimenin bittiğini bize gösterdiğinden uzunluk nulla kadar artar.

Yani kelime[0] = ‘g’ …..kelime[5] = ‘\0’ dır  

 for(uzunluk=0;kelime[uzunluk] != '\0';uzunluk++);

0,1,2,3,4 à 5 adet karakter var demekki uzunluk 5miş.

  printf("%d",uzunluk);

5.       adım Kelimeyi tersten yazdırma

gamze kelimesindeki harfler karakter dizisinde sırasıyla 0 1 2 3 4 olarak saklanmakta ancak uzunluk 5 olduğundan uzunluk=5ti (bkz 4.adım).Biz kelime[4] olan g harfinden başlamak istiyoruz.Bu nedenle uzunluk-1 den başlıyoruz 0 dan büyük eşit olduğu sürece i yi azaltıyoruz.

 

for(i=uzunluk-1;i>=0;i--)

printf("%c",kelime[i]);

6.       adım Harfleri bir dik üçgene atamak

önce uzunluk bulma kodu yazılır

for(uzunluk=0;kelime[uzunluk] != '\0';uzunluk++);

sonra dik üçgen kodu yazılır

for(i=0;i<uzunluk;i++){

printf(“\n”);

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

 

eğer

g

a a

m m m

şeklinde yazdırmak istersek dış döngünün değişkenini kelime[i] şeklinde yazdırırız.

Eğer

g

g a

g a m

g a m z

g a m z e

şeklinde yazdırmak istersek iç döngü baz alınır kelime[j]

 

BÖLÜM 2 ASCII KARAKTER TABLOSU UYGULAMALARI

 

Aşağıdaki inputta output neden 65?

#include <stdio.h>

main(){

       printf("%d",'A');

       getch();

       }

 

Çünkü ‘A’ yani büyük A harfi karakterinin ASCII tablosundaki decimal karılığı 65.

Ascıı tablosunu ezberlemek zorunda değiliz bu şekilde karakterimizin decimal karşılığını öğrenebiliriz.

 

printf("%c",65);  ise bize A çıktısını verir.

65-90 arası büyük harfler 97-122 arası küçük harflerdir.

Bir i değişkeni atayarak for döngüsüyle bu başlangıç bitiş değerlerini printf("%c",i);  şeklinde alfabeyi yazdırabiliriz.

BÜYÜK KÜÇÜK HARF DÖNÜŞÜMÜ

A’yı a ya dönüştürmek istiyorsam aslında 65’i 97’ye dönüştürmek istiyorum.

97-65=32 yani 65-90 arasındaki büyük harflerin her birini 32 arttırmam lazımki büyük harf karşılıklarını elde ediyim.Tam tersini yapmak için ise yani büyük harfi küçük harfe çevirmek için

if (kelime[i] >= 65 && kelime[i] <= 90)  

printf ("%c", kelime[i]+32);

else

printf ("%c", kelime[i]-32);

Yorumlar

Bu blogdaki popüler yayınlar

İNSANA İLİŞKİN BAKIŞ AÇILARI VE SINIF YÖNETİMİ

Eğitimde Ahlak ve Etik ders notları