C++ programlama dilini kullanarak yazacağınız program dizilerde aşağıdaki işlemleri yapmalıdır.
1- Eleman Ekle
2- Eleman Sil
3- Eleman Ara
4- Elemanları Listele
5- Çıkış
Elemanlar sadece pozitif tamsayılardan oluşmalıdır. Kullanıcının gireceği negatif tamsayılar kabul edilmemeli ve kullanıcı uyarılarak tekrar girilmesi sağlanmalıdır. Dizinin uzunluğu 101 olmalıdır.
Bu pozitif tamsayılar dizisine ekleme, silme ve arama mantığı şu şekilde olmalıdır. Örneğin 571 sayısı diziye eklenmek istenmektedir. Bu durumda
571 MOD 101 = 66 (Yani 571’in 101’e bölümünden kalan 66’dır.)
571 sayısı, dizide 66 numaralı indekse konulmalıdır. Eğer daha önce 66 numaralı indekste bir eleman eklenmiş ise bu durumda 571 sayısı eklenmemeli ve kullanıcı ilgili indeks dolu şeklinde uyarılmalıdır.
Silme işleminde de aynı yöntem kullanılmalıdır. Silinecek sayı kullanıcıdan alınmalı 101’e bölümünden kalan indekse gidip eleman silinmelidir. Eğer girilen sayı ilgili indekste yoksa kullanıcı eleman bulunamadı şeklinde uyarılmalıdır. Dizide eleman silmekten kasıt oraya -1 yazmaktır. Dolayısıyla dizi program başladığında bütün indekslerinde -1 olacak şekilde değer atanmalıdır.
Elemanları listeleme işleminde, dizideki bütün elemanlar ekrana yazılmalıdır. Burada dikkat edilecek konu eğer bir indekste -1 değeri varsa orada eleman yok anlamında olduğu için ekrana o indeksteki değer yazılmayacak ve bir sonraki indekse bakılacaktır. Örneğin 5 elemanın ekli olduğu dizi ekrana yazdırılırsa aşağıdaki gibi bir çıktı oluşacaktır. [indeks değeri]=eklenen eleman şeklinde listeleme yapılmıştır.

ekran-ciktisi

Başta gösterilen 1,2,3,4,5 numaralı menü sizin ana menünüz olacaktır. Her işlemden sonra program tekrar bu menüye dönecektir. 5 numaralı seçenek seçilmediği sürece program kapanmayacaktır.

C++ Kodları

#include <iostream>
using namespace std;

int diziUzunluk[101];
int diziToplam=0;

void islemYap(int ,int,int);
int main()
{
setlocale(0,”turkish”);

for(int i=0;i<101;i++)
{
diziToplam [i] =-1;
}
int secenek = -1;
do
{
cout<<“1 – Eleman Ekle”<<endl<<“2 – Eleman Sil”<<endl<<“3 – Eleman Ara”<<endl<<“4 – Eleman Listesi”<<endl<<“5 – Çıkış”<<endl<<endl<<“Secenek : “;
cin>>secenek;
cout<<endl;
if(secenek<1 || secenek >5)
{
cout<<“Yanlış seçim yaptınız lütfen tekrar deneyiniz …”<<endl<<endl;
continue;
}
switch(secenek)
{
case 1:
for(;;)
{
cout<<“Eklemek istediğiniz indis değerini giriniz : “;
cin>>diziToplam;
diziNum %= 101;
if(diziUzunluk[diziToplam]==-1)
{
break;
}
cout<<“Eklemek istediğin indis dolu başka bir indisi deneyiniz…”<<endl<<endl;
}
cout<<“Eklemek istediğiniz değeri giriniz : “;
cin>>diziUzunluk[diziToplam];
cout<<endl;
break;
case 2:
for(;;)
{
cout<<“Silmek istediğiniz indis değerini giriniz : “;
cin>>diziToplam;
diziToplam = diziToplam % 101;
if(diziUzunluk[diziToplam]==-1)
{
break;
}
cout<<“Silmek istediğiniz indis zaten boş…\n\n”;
}
diziUzunluk[diziToplam]=-1;
cout<<“\n”;
break;
case 3:
cout<<“Değerini aradığınız indis değerini giriniz : “;
cin>>diziToplam;
diziToplam = diziToplam % 101;
if(diziUzunluk[diziToplam]!=-1)
{
cout<<“[“<<diziToplam<<“]”<<” = “<<diziUzunluk[diziToplam]<<endl<<endl;
}
else
{
cout<<“Aradığın indiste değer yoktur!! “<<endl;
}
break;
case 4:
for(int i=0;i<101;i++)
{
if(diziUzunluk[i]==-1)
{
continue;
}
cout<<“[“<<i<<“]”<<” = “<<diziUzunluk[i]<<endl;
}
cout<<endl;
break;
}
}while(secenek!=5);
}