Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.

Slides:



Advertisements
Benzer bir sunumlar
DİZİLER – I. Kısım YRD.DOÇ.DR. CİHAD DEMİRLİ
Advertisements

Diziler.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
void medyan(int cevap[]) { int j; siralama(cevap);
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
Bölüm 2 C Dilinin Temelleri
String Diziler(Katarlar)
Tanım Birbirleriyle ilişkili ve bitişik iki ya da daha fazla bellek hücresinden oluşan yapı Örnek dizi tanımı: int tamsayiDizi[10]; tamsayiDizi[0] /*ilk.
Diziler.
Atama ve Girdi/Çıktı Komutları
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
BPR152 ALGORİTMA VE PROGRAMLAMA - II
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Diziler(Arrays).
Bölüm 10 Yapılar ve Birleşimler
Soru1: Dışardan "%s" format belirteci kullanılarak girilecek 20 elemanlı bir dizinin elemanlarının kaç tanesinin rakam, kaç tanesinin harf ve kaç tanesinin.
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
Nesneye Yönelik Programlama
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Dizi Elemanlarının Sıralanması
NESNEYE YÖNELİK PROGRAMLAMA
Diziler (Arrays).
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
Bil 102 Bölüm 6 Diziler.
DİZİLER Arrays.
The if statement. if Şartlı kontrol Koşul değimi doğru (1) yada yanlış (0) değeri üretir. Şartın doğru olması durumunda if satırından sonraki değimler.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Bölüm 2 C Diline Genel Bir Bakış. 1/29 /* Örnek1- toplama.c Klavyeden girilen iki tamsayının toplamını bulup ekrana yazar. Erkan Yasan */ #include.
DÖNGÜLER(do-while deyimi)
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritmalar ve Programlama I Ders 8:DİZİ (VEKTÖR) KAVRAMI
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Fonksiyonlar.
C Programlamada, benzer tipte tanımlaman değişkenleri kontrol etmede bize en çok yardım eden dostlarımız dizilerdir. Örneğin: 100 Öğrencinin bilgilerini.
BİLGİSAYAR programlama II
BİLGİSAYAR programlama II
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
1 Bölüm 5 Döngü Komutları Alıştırmalar Bu bölümdeki problemler “C Dersi Çözümlü Problem Kitabı”, N. E. Ça ğ ıltay, C. E. Selbes, G. Tokdemir, ve Ç. Turhan,
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
Örnek Sorular Bilgisayar Programlama BIL 107. Soru 1: Ekran çıktısında 66 yazması için boşlukları doldurunuz ______ i = 'A'; printf(____, i__); CEVAP:
Bölüm 5 Döngü Komutları while Komutu while Komutu Diğer Operatörler (Bileşik atama, artırma ve azaltma operatörleri ) Diğer Operatörler (Bileşik atama,
BİLGİSAYAR PROGRAMLAMA DERSİ 6. DERS NOTU Konu: Matlab’ de Diziler ve Matrisler.
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bilgisayar Programlama BIL 107
Fonksiyonlar ve Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Sharp 9. hafta - dIZILER.
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
tanımları yapabilmeniz gerekmektedir .
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
Bölüm 3 Atama ve Girdi/Çıktı Komutları
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
YAPISAL PROGRAMLAMA Hafta-7
Bölüm 3 Atama ve Girdi/Çıktı Komutları
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
Diziler(Arrays).
Sunum transkripti:

Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 2 Dizi (array) Tanımı Değişkenler aynı anda tek bir değer tutabilen temel değişkenler ve birden fazla değer saklayabilen bileşik değişkenler olmak üzere ikiye ayrılır. Temel değişkenler bellekte tek bir hücreyi tanımlayıp, içlerinde tek bir değeri tutabilirler. Diziler (arrays) ise ardarda sıralanmış bellek hücreleridirler. Diziler bu bağlamda bileşik değişkenlerdir ve bellekte aynı anda birden fazla değerin saklamasını mümkün kılarlar.

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 3 Dizi (array) Tanımı Dizi (array), birbiriyle ilgili aynı türden birden fazla veriyi tek bir isimle tanımlayan veri bütünüdür. –Diziyi oluşturan her hücreye dizi elemanı (array element); her elemanın tuttuğu veriye eleman değeri (array element’s value); her elemanın dizi içindeki yerine ise eleman dizini (element subscript/index) adı verilir. Diziler tek boyutlu, iki boyutlu ya da çok boyutlu olarak sınıflandırılabilir. Diziler fiziksel bellek sahası olarak ardışık sırada bulunmaktadırlar.

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 4 Dizi Tanımı veri_tipi dizi_ismi [eleman_sayısı]; Bellek Görüntüsü:

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 5 Tek boyutlu dizilerin bellek gösterimi: Örnek C dilinde dizilerin indisi 0’dan başlar ve birer artarak eleman sayısının bir eksiğine kadar devam eder (eleman_sayısı-1). 50 elemanlı bir dizinin ilk eleman indisi 0, son eleman indisi ise 49 olmaktadır. Örnek: Dizi tanımlama, dizi elemanları ve eleman dizinleri double a[5]; a a[0]a[1]a[2]a[3]a[4]

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 6 Dizi Elemanlarına Değer Atama Örnek: int not[100]; int i; not[0]=20; 20 not[2]= not[0]+10; 2030 i=0; not[i]=90; not[++i]=70; Dizi eleman dizinleri Dizi elemanına değer atama

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 7 Dizi Elemanlarına Değer Atama int a[3],b; scanf(“%d”, &b); a[2]=b; int a[3]; scanf(“%d”, &a[2]); veya veri_tipi dizi_ismi[eleman_sayisi]={değer1,değer2….} int a[5]={4,7,10}; a 012 Listelenen değer sayısı eleman sayısından az ise; geri kalan elemanlar 0 olarak atanır. int a[5]={0}; Dizinin bütün elemanlarını sıfıra eşitler. 34 int a[100], i; for(i=0; i<100; i++) scanf(“%d”, &a[i]; Dizi tanımından sonra değer atama Dizi tanımlarken değer atama int a[100], i; for(i=0; i<100; i++) a[i]=0;

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 8 Dizi Elemanlarına Değer Atama #include int main(void) {int a[5]; int i,toplam; double orta; /*Kullanici degerlerinin dizide saklanmasi*/ printf(“Bes tamsayi giriniz:”); for(i=0;i<5;++i) scanf(“%d”,&a[i]); /*Toplam ve ortalamanin bulunmasi*/ toplam=0; for(i=0;i<5;++i) toplam=toplam+a[i]; orta= toplam/5.0; printf(“Ortalama=%5.2f”,orta); return (0); } Örnek: Kullanıcı tarafından girilen 5 tamsayı değerini bir dizide saklayan ve bu değerlerin ortalamasını bulan bir program yazalım.

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 9 Tek botutlu diziler: Örnek Girilen sayıları tersten yazdırma: Örnek çıktı 10 sayi giriniz: Tersten yazilisi: /* Bir seri sayiyi tersten yazdirma */ #include #define N 10 int main(void) { int a[N], i; printf(" %d sayı giriniz: ", N); for (i = 0; i < N; i++) scanf("%d", &a[i]); printf("Tersten yazilisi:"); for (i = N - 1; i >= 0; i--) printf(" %d", a[i]); printf("\n"); return 0; }

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 10 2-Boyutlu Diziler int not[30][3]; veri_tipi dizi_ismi[satır_büyüklüğü][sütun_ büyüklüğü]; Her elemanı bir boyutlu dizi olan yapılara ise çok boyutlu diziler denir. Bu bölümde matris veya tablo olarak da bilinen 2-boyutlu dizilere değineceğiz.

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 11 2-Boyutlu dizilerin bellek gösterimi: Örnek

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 12 not[1][1]=90; scanf(“%d”, &not[29][0]); Tanımlama Sırasında Değer Atama satır yönünde atama 2-Boyutlu Dizilere Değer Atama 2-Boyutlu Diziler

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 13 2-Boyutlu Diziler Tanımlama Sırasında Değer Atama int b[4][3] = {15, 30, 39, 23};

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 14 2-Boyutlu Diziler Tanımlama Sonrasında Satır Yönünde Değer Atama int a[30][3]; for(satir=0; satir<30; ++satir) { for (sutun=0;sutun<3; ++sutun) a[satir][sutun]=0; }

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 15 2-Boyutlu Diziler Tanımlama Sonrasında Sütun Yönünde Değer Atama int a[30][3]; for(sutun=0; sutun <3; ++sutun) for (satir=0;satir<30;++satir) a[satir][sutun]=0;...

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 16 Dizilere başlangıç değerleri verilmesi: Örnek

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 17 İndis kullanılarak değer atama: int sayi[3]; printf(“3 adet sayı giriniz: \n”); scanf(“%d %d %d”,&sayi[0], &sayi[1],&sayi[2]); For kullanılarak değer atama: int sayi[3], i; printf(“3 adet sayı giriniz \n”); for(i=0; i<3; i++) scanf(“%d”,&sayi[i]); Tanımlarken değer atama: array boyut verilmeden int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Dizi elemanlarına değer atama: Örnek

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 18 Aşağıdaki program parçası, okunan 100 adet sayının ortalamasını bulup, ortalamanın üstünde olanları listelemektedir. floatsayi[100], ortalama, toplam=0.0; for(int i=0 ; i<100 ; i++) scanf(“%f”, &sayi[i]); for(i=0; i < 100 ; i++) toplam += sayi[i]; ortalama = toplam/100; for(i=0 ; i < 100 ; i++) if ( sayi[i] > ortalama) printf(“%d\n”, sayi[i]); Örnek: Tek boyutlu dizi

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 19 2-Boyutlu Diziler Örnek: Kullanıcının, 30 kişilik bir sınıftaki her öğrenci için 3’er sınav notu gireceği ve her sınav için sınıf ortalamasının ekranda gösterileceği bir program yazınız. #include int main(void) { int not[30][3]; int i,j,toplam; double orta; /* Kullanicidan notlarin alinmasi*/ for(i=0;i<30;++i) { printf(“%d. ogrenci notlari:”,i+1); for(j=0;j<3;++j) scanf(“%d”, &not[i][j]); } /*Her sinavin ortalamasinin bulunmasi*/ for(j=0;j<3;++j) { toplam=0; for(i=0;i<30;++i) toplam+=not[i][j]; orta=toplam/30.0; printf(“%d. sinav ortalamasi: %5.2f\n”,j+1,orta); } return (0); }

C DERSİ Programlamaya Giriş Bölüm 8 Diziler 20 2-Boyutlu Diziler: Örnek #define N 10 double a[N][N]; int i, j; for (i = 0; i < N; i++) for (j = 0; j < N; j++) if (i == j) a[i][j] = 1.0; else a[i][j] = 0.0;