Ana içeriğe atla

C# Dizi Gezme Ve Eleman Kontrolü (Mülakat Sorusu)



Herkese Merhaba

Yazılım sektörüne yeni atılmış kişilerin kariyer hayatına başlamadan önceki son adım da yani mülakatta,  zaman zaman karşı tarafın pratik zekasını görebilmek için bir takım sorular sorulabiliyor.

Örneğin biz bir iş görüşmesine gittik. Karşımıza gelen kişide bize ;

" İçerisinde bizim tanımladığımız verileri saklıyan integer bir dizi vereceğiz.Bu dizi içerisinde, form arayüzünde ki textBox içerisine yazacağımız rakamı oluşturan dizinin iki farklı elemanını arıyacaksın. Yalnız bir şartımızda var. Dizideki hiç bir elmanı kendisi ile toplamayacaksın. Süren 5 dakika"

şeklinde bir soru aldık. Şuanda hissediyorum beyinler nasıl yapabilirimin cevabını aramaya başladı o zaman bizde başlayalım.

İlk olarak elimizde ki datalara bakalım.

Girdiler : int [ ] rakamlar , integer bir sayı.
Çıktılar : Dizinin iki elemanı.

Bir akış diyagramı çizmek gerekirse yapılacak işlemler sırasıyla şunlardır:

1 İnteger dizi ve bool türde birer nesne oluşturup ilk atamalarını yap.

2 Form da girilen  sayıyı integer türüne dönüştür.

3 Dizinin eleman sayısı kadar bir döngü başlat
  3.1 Diziyi gezebilmek için aynı şekilde bir döngü başlat.

4 İlk döngüden gelen index ile ikinci index aynımı kontrolü yap
  4.1 Aynı değil ise bu iki değeri topla
  4.2 Aynı ise döngüde " Continue " ile bir sonraki değere geç

5 Toplam sonucunda elde ettiğin değeri textBox'ta ki veri ile kıyasla

6 Değerler uyuşuyor ise önce İlk sonra İkinci döngüdeki index değerlerini textBox'a yazdır ve döngüyü bitir.




Yukarıda ki kod ile bu diyagramın çalışmasını gözlemleyebiliriz.

Kendinize iyi bakın, iyi çalışmalar.

Yorumlar

Bu blogdaki popüler yayınlar

Sımatıc Manager 1 Hardware configüration

Herkese Merhaba Bugünde sizlerle Sımatıc Manager programı ile S7-300 programlanması üzerine tartışacağız. Plc nedir ? Açılımı programlanabilir lojik yönetici tarif edebilceğimiz kontrol cihazları aklımıza gelir.Günümüz sanayisinde hemen hemen tüm kontrol sistemleri plc tarafından yönetilir. Plc'ler bir makinayı yönetebilmek için üzerlerinde giriş ve çıkış pinleri bulunmaktadır.Bunlardan girişler "I"(input) çıkışlar "Q"(output) olarak adlandırılır.Yani dışarıdan okunulabilcek tüm veriler ınput, dışarıya yorumlanarak(programlanarak) gönderilecek tüm veriler output olarak adlandırılır. Giriş ve çıkışlara örnek olarak ; Giriş: - Isı sensörleri -Nesne sensörleri -Butonlar -Acil stop Çıkışlar -Kontaktör -Motor -Valfler -Uyarı lambaları örnek verilebilir. Bunları bir fotoğraf ile taçlandırmak gerekirse ; Başlıca kullanılan plc markaları -Sıemens -Omron -Lg -Mitsubishi -Abb -Delta -Gemo örneklerini verebiliriz. Ben elimde...

Veri Tabanı Tipleri

SQL NEDİR ? Türkçe tanım kullanmak gerekir ise “Yapılandırılmış Sorgulama   Dili “ şeklinde anlamsız bir tanım yapılabilir.Olayı daha basitleştirmek gerekirse Sql yapısını kafanızda   ilk okulda   yaptığımız ders   programlarına   benzetebilirisiniz.   O günlerde   yaptığımız işlemler   neydi ? Önce güne bakıyoruz   ardından   yan   sütununda ki derslere   göre çantamızı   hazırlıyoruz. İşte Sql de özünde bize bu yapıyı sağlıyor. Bir liste   halinde verilerimizi saklıyor ve bunları   ado.Net ile   mantıklı   birer veri haline   getirip   son   kullanıcıya   sunuyoruz. Veri tabanı türleri : Flat File Data Base Bu veri   tabanı   tek bir   tablo   ile   çalışıldığı   durumda   kullanılır . Tek   bir   tablonun   getirdiği    en öne çıkan sorun ise çok fazla sütuna sahip olmasıdır bu durum performans...

Sımatıc Manager 1.4 Comparator Kullanımı

Merhaba. Bu yazı da Comparator(Karşılaştırıcılar)’dan bahsedeceğiz. Comparator(Karşılaştırıcılar) adı üstünde karşılaştırma kontağıdır. Yani bir değerle bir değeri kıyaslar. Kullandığımız karşılaştırıcıya bağlı olarak eşitse(==), büyükse(>),  küçükse(<), büyük eşitse(>=), küçük eşitse(<=)  gibi iki değeri karşılaştırır. Bu karşılaştırmanın sonucu evet olduğu zaman ise çıkışını aktif eder. Mesela, bir sayıcı 4 saydığında bir şeyi aktif etmek istersek IN1 ‘e sayıcıda bulunan yardımcı alanımız IN2’de ise  4 yazarak bu işemi yapmış oluruz. Tabii bu durumda eşitse(==) karşılaştırıcımızı kullanmamız gerekir. Yukarıda comparator menüsünü görüyorsunuz. I=ınteger D=DoubleInteger R=Real’ı simgelemekte. Yukarıda ki resimde de gösterildiği gibi fare imleci ile IN1 veya IN2 üzerine geldiğimizde o alana hangi sayı sisteminde değer girmeliyiz onu görebiliriz. Karşılaştırıcılar  ile ilgi uygulamamız için video aşşağıdaki bağlantıda bulu...