Sponsor

C++ Diziler Giriş

Sponsor
Sponsor

Erciyes Üniversitesi Programlama 2 dersinde yapılmış olan diziler de işlemler konusundan bahsedeceğim biraz.

Diziler programlama dillerinde en temel olgulardan biridir. Konu ile alakalı önceden yapmış olduğumuz anlatım ve sunumlar bulunmaktadır.(C++ diziler konusu için tıklayınız.) Bu konu ise tekrar ve ders içeriğine ulaşmak isteyen öğrenci arkadaşlara yardımcı olabilmek adına hazırlanmıştır.

Bu derste uygulama olarak string bir ifadenin dizeye atılması ve bu dizi içerisine alınan cümle ile çeşitli işlemler yaparak dizi olgusunu daha iyi anlama;

Program kodları aşağıda detaylı ve açıklamalı olarak verilmiştir;

//18.02.2011 İlk Ders Programlama 2
/*
Dizilerde scanf içerisinde & işareti kullanılmaz çünkü dizinin kendisi bellekteki adresi işaret eder.
*/#include <iostream>
#include <stdlib.h>
#include <conio.h>
#define N 100

int uzunluk(char metin[]);//Dizi uzunluğunu bulan fonksiyon
void BoslukYaz(char metin[]);//Cümle içinde ki boşlukları bulan fonksiyon
void yaz(char metin[],int baslangic,int bitis);//İndisleri verilen aralığı yazdıran fonksiyon

int main()
{
    char cumle[N];
    printf("Bir cumle giriniz = ");
    gets(cumle);
    printf("\nCumle Uzunlugu = %d\n",uzunluk(cumle));
    printf("Cumlenin Tersten yazilmis hali-->");
    BoslukYaz(cumle);
    printf("\n");
        system("pause");
}
int uzunluk(char metin[])
{
    int i=0;

    for(i=0;metin[i] != '\0';i++)
    {}
    /*Yukarıda ki for yapısı while ile de oluşturulabilirdi;
        while ( word[i] != '\0')
          i++;
    */    return i;
}

void BoslukYaz(char metin[])
{
     int i,boyut,onceki,boslukindisi;
     boyut=uzunluk(metin);
     onceki=boyut+1;

     for(i=boyut;i>=0;i--)
     {
       if(metin[i] == 32) //Boşluk karakteri asci kodu = 32
       {    //printf("%d. karakter bosluk",i);
            boslukindisi=i;
            yaz(metin,boslukindisi+1,onceki-1);
            onceki=boslukindisi;
       }
     }
     yaz(metin,0,onceki-1);
}

void yaz(char metin[],int baslangic,int bitis)
{
     int i;
     for(i=baslangic;i<=bitis;i++)
         printf("%c",metin[i]);
     printf(" ");
}

Yukarıda ki örnek uygulama dosyasını aşağıdan indirebilirsiniz;

Konu hakkında soru yada sorunu olanlar buradan sıkıntılarını dile getirebilirler. Her hafta konumuz güncellenecektir.

Sponsor
B.Selçuk ÖKSÜZ: Bilgisayarla yaşamayı bir tarz olarak benimsemiş, teknoloji ile tamamen içli dışlı bir; web tasarımcı, yazılımcı, donanımcı, blog yazarı ve bilgisayar mühendisidir.

View Comments (1)

  • arkadaşlar ödevim var bana yardımcı olursanız sevinirim
    ödevin konusu;aaaabbbbbggggguullmmmmmmmmm gibi girilen diziyi kısaltarak yazma yani 4a5b2u2l9m şeklinde c++ ta yazdırmak şimdiden tesekkürler

Yorumunuz
Sponsor