24 Ekim 2016 Pazartesi

Karakter Dizilerini Birleştirmek


İki karakter dizisini birleştirilerek tek bir karakter dizisi haline dönüştürmek için C'nin strcat() fonksiyonu kullanılır.
Bu fonksiyon, var olan bir karakter dizisinin sonuna bir başka karakter dizisini ekleyecektir.
Örneğin "abc" karakter dizisinin sonuna "def" karakter dizisi strcat() fonksiyonu kullanılarak eklenebilir.


Karakter Dizilerinin Uzunluğu Bulmak


Bazı uygulamalarda bir karakter dizisinin uzunluğunu bulmak gerekebilir.

Bir karakter dizisinin uzunluğunu, yani kaç karakter içerdiğini bulmak için C'nin standart strlen() fonksiyonu kullanılır.

Uzunluk bulunurken, içerdiği en son karakter olan NULL karakteri göz özüne alınmaz.

Örneğin, karakter dizisi "abc" değerlerini içeriyorsa, strlen() fonksiyonu bu uzunluk olarak "3" değerini döndürür.

Karakter Dizileri (Strings)

Bazı programlama dillerinde karakter dizilerini tutmak için özel veri türleri (string, vb.) bulunmaktadır.

Ancak C programlama dilinde böyle bir veri türü olmadığı için yerine karakterlerden oluşan bir boyutlu diziler kullanılır.

Karakter dizilerine özel olarak, karakter dizilerinin sonuna sonlandırıcı karakter olarak adlandırılan bir simge eklenir.

Sonlandırıcı karakter:
Dizinin bittiği yeri gösterir.
ASCII tablosunun sıfır numaralı ('\0') karakteridir.


Karakter dizilerine iki şekilde başlangıç değeri verilebilir:
    (1) char s[7] = {'d','e','n','e','m','e','\0'};
    (2) char s[7] = "deneme";

Birinci tanımlamada sonlandırıcı karakter programcı tarafından konmalıdır.

İkinci tanımlamada ise buna gerek yoktur. Çünkü, sonlandırıcı karakter bu atamayla, derleyici tarafından eklenir.

Bir karakter dizisini klavyeden okumak için C'nin standart gets( ) fonksiyonu kullanılır.

stdio.h dışında yeni bir kitaplığı C programına dahil etmeye gerek yoktur.

Bu fonksiyon herhangi bir indeks tanımlamadan karakter dizilerinin okunmasını sağlar.

Okuduğu karakter dizisinin sonuna satır sonu işaretini değil, NULL değerini yerleştirir.


gets() fonksiyonu, klavyeden girilen karakter dizilerini, herhangi bir ek tanımlamaya gerek duymadan bir dizi içine yerleştirir.

Dizinin her bir karakteri dizinin farklı bir hücresi içine yerleşir.

Örnek:
    char ad[20];
         ...
        gets(ad);

Çok boyutlu dizi örnekleri:

Çok boyutlu diziler tek boyuta indirgenerek bellekte tutulurlar.
Tek indisli dizilerde olduğu gibi, çok indisli dizilere de başlangıç değeri vermek mümkündür.
Örneğin 3 satır ve 4 sütunlu (3x4=12 elemanlı) bir x matrisinin elemanları şöyle tanımlanabilir:

int x[3][4] = {11,34,42,60, 72,99,10,50,  80,66,21,38};

int x[3][4] = {11,34,42,60,  /* 1. satır elemanları */
                       72,99,10,50,  /* 2. satır elemanları */
                       80,66,21,38}; /* 3. satır elemanları */

Çok Boyutlu Dizi

Bir dizi aşağıdaki gibi bildirildiğinde bir boyutlu (tek indisli) dizi olarak adlandırılır. Bu tip dizilere vektör denir.
    int x[5];
Bir dizi birden çok boyuta sahip olabilir. Örneğin iki boyutlu y dizisi şöyle tanımlanabilir:
    int y [5] [10];
İki boyutlu diziler matris olarak adlandırılır.
İlk boyuta satır, ikinci boyuta sütün denir. y matrisinin eleman sayısı 5x10=50 dir.



17 Ekim 2016 Pazartesi

Ms Dos ile Basit Matrix Ekranı

Örnekteki Ms_Dos Komutların Anlamı

@echo off  Cmd ekranındaki eski komutların görüntülenmesini engeller.
title Cmd ekranının başlık kısmındaki yazıyı değiştirir.
color Yazı rengini değiştirir.1 ile F arasındaki (Hexedecimal)sayılar verilebilir.Ör color c
pause
mode Ekran genişliğini ayarlar
:top 
echo Ekrana yazı yazdırmak için kullanılır.
%random%  Rasgele sayı oluşturmak için kullanılır.
goto top  C dilinde kullanılan goto deyimi ile aynı şekilde kullanılır.
Burada :top kullanılarak sonsuz döngü oluşturulmuştur.



Güvenli yazılım geliştirilmesinin temel adımı.

Tehlikeleri erkenden fark et ve önlem al (Eğer yangından koruyorsan yangına dayanıklı materyal kullan.)
Dezavantajı maliyet,zaman
Tehlike meydana geldiğinde var olan prosedürleri uygula eğer yok ise proje ekibi ile prosedürleri oluştur.
Dezavantajı maliyet,zaman
Varsa deneyimlerden yararlanıp pratikleri uygula.(Her bir sistemin ihtiyaçları ve gereksinimleri farklı olduğunu unutma)
Dezavantajı Risk,maliyet,zaman,performans