Bu yazıda bir diziden belirtilen bir değeri silmek için kullanılan C Programı kodlarını göreceksiniz.
Sorun Açıklaması
Tek boyutlu bir dizi uygular, mevcut olması durumunda o öğeyi diziden silmek ve silmek için kullanıcılardan girdi olarak bir sayı alır veya yoksa uygun mesajı yazdırır.
Problem çözümü
- Belirli bir boyutta bir dizi oluşturun ve öğelerini doldurun.
- Silinmesi gereken, kullanıcılardan girdi olarak bir değer alın.
- for döngüsünü kullanarak değerin dizide olup olmadığını kontrol edin.
- Değer mevcutsa, konumunu kaydedin ve mevcut değilse, uygun bir mesaj yazdırılır.
- Yine, döngü kaydedilen konumdan dizinin sonuna kadar devam eder ve her öğenin bir adım sola kaymasına neden olur.
- Bu şekilde değer silinir.
Program/Kaynak Kodu
İşte bir diziden belirtilen tamsayıyı silmek için C programının kaynak kodu. Program, Windows ortamında Turbo C derleyicisi kullanılarak başarıyla derlenmiş ve test edilmiştir. Program çıktısı da aşağıda gösterilmiştir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
#include <stdio.h> void main() { int vectorx[10]; int i, n, pos, element, found = 0; printf("Kac Eleman Gireceksiniz\n"); scanf("%d", &n); printf("Elemanları girin\n"); for (i = 0; i < n; i++) { scanf("%d", &vectorx[i]); } printf("Girilen Degerşer \n"); for (i = 0; i < n; i++) { printf("%d\n", vectorx[i]); } printf("Silmek istediginiz elemanı yazin \n"); scanf("%d", &element); for (i = 0; i < n; i++) { if (vectorx[i] == element) { found = 1; pos = i; break; } } if (found == 1) { for (i = pos; i < n - 1; i++) { vectorx[i] = vectorx[i + 1]; } printf("Silindikten sonraki elemanlar \n"); for (i = 0; i < n - 1; i++) { printf("%d\n", vectorx[i]); } } else printf("Silmek istediginiz %d degeri bulunmadi\n", element); } |
Program Açıklaması
- Bir dizi bildirin, vectorx sabit kapasiteye sahip, 10.
- Dizinin boyutunu kullanıcılardan girdi olarak alın.
- for döngüsünü kullanarak dizinin elemanlarını tanımlayın.
- Şimdi, silinmesi gereken, girdi olarak kullanıcılardan bir sayı alın.
- Her ikisi de aynı büyüklüğe sahipse, dizinin her bir öğesini o sayıyla karşılaştırarak bir for döngüsü çalıştırın.
- Sayı dizide mevcutsa, konumunu kaydedin. Dizide sayı yoksa, uygun mesajı yazdırın.
- Dizinin her bir öğesini birer birer sola kaydırarak, kaydedilen konumdan dizinin boyutuna bir for döngüsü çalıştırın.
- Bu şekilde numara silinir.
- Çıkış