Küçükten büyüğe sıralanmış, her öğesi birbirinden farklı (distinct) olan negatif bir tamsayı içermeyen bir tamsayı dizisi var. Bu dizide yer almayan en küçük tamsayıyı
Etiket: diziler
C çalışma sorusu – 63 (dizide tekrar eden tamsayı)
n elemanlı bir dizi var. Bu dizide 1 – n arasında tüm değerler yer alıyor. Ancak bir değerden 2 tane var. Yinelenen değeri bulan
C çalışma soruları – 54 (dutch national flag algorithm)
İlk kez Edsger Dijkstra tarafından sorulan bu algoritmaya 3 renkten oluşması nedeniyle Hollanda Bayrağı Algoritması deniyor. Yalnızca 0, 1, 2 değerlerinden oluşan bir diziniz
C çalışma soruları – 52 (dizideki eşsiz öğeler)
Bir tamsayı dizisinde eşsiz (unique) olan değerleri standart çıkış akımına yazdırın. Aşağıda sizin için bir test kodu var:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <time.h> #include <stdlib.h> #include <stdio.h> #define SIZE 20 int main() { int a[SIZE]; srand((unsigned)time(NULL)); for (int i = 0; i < SIZE; ++i) { a[i] = rand() % SIZE; printf("%d ", a[i]); } printf("\n"); /* sizin kodunuz */ } |
Yukarıdaki kodda, a dizisinin öğelerine
C çalışma soruları – 50 (bir dizinin modu)
Bir dizinin modunu (dizide en çok yinelenen tamsayı) bulan
1 |
int getmod(const int *pa, size_t size); |
işlevini tanımlayınız. İşlevin birinci parametresi modu hesaplanacak dizinin adresi işlevin ikinci parametresi modu hesaplanacak
çok boyutlu diziler (multi-dimensional arrays)
C dilinde iki ya da daha çok boyuta sahip diziler tanımlanabilir:
1 |
double a[5][10]; |
a iki boyutlu bir dizi. Aşağıda ismi ar olan üç boyutlu bir dizi tanımlanıyor:
1 |
int ar[4][5][10]; |
C çalışma soruları – 30
Aşağıdaki C programı çalıştırıldığında bu programın çıktısı ne olur?
1 2 3 4 5 6 7 8 |
#include <stdio.h> int main() { int a[] = { 0, 1, 2, 3}; printf("%d\n", (a[0], a[0, 1], a[0, 1, 2], a[0, 1, 2, 3])); } |
Sorunun yanıtı şu seçeneklerden biri de olabilir: Sentaks hatası (derleme zamanı hatası) Tanımsız davranış.
C çalışma soruları – 21 (göstericiler)
Aşağıdaki C programı çalıştırıldığında bu programın çıktısı ne olur?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <stdio.h> int main() { int a[4] = { 2, 0, 3, 1}; int i; ++2[a][a][a][a]; for (i = 0; i < 4; ++i) printf("%d ", a[i]); return 0; } |
Sorunun yanıtı şu seçeneklerden biri de olabilir: Sentaks hatası (derleme zamanı hatası) Tanımsız davranış.
C çalışma soruları – 20 (pointer operatörleri)
Aşağıdaki C programı çalıştırıldığında bu programın çıktısı ne olur?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <stdio.h> int main() { int a[5] = { -1, 3, 2, -2, 0}; int *p = a + 3; int i; a[p[*p]]++; a[p[*p]]++; for (i = 0; i < 5; ++i) printf("%d ", a[i]); return 0; } |
Sorunun yanıtı şu seçeneklerden biri de olabilir: Sentaks hatası (derleme zamanı hatası) Tanımsız davranış.
C çalışma soruları – 10 (göstericiler)
Aşağıdaki C programı çalıştırıldığında bu programın çıktısı ne olur?
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <stdio.h> int main() { char *a[] = { "necati", "kagan", "oguz", "gurbuz" }; char **ptr[] = { a + 3, a + 2, a + 1, a }, ***p; p = ptr; ++p; printf("%s", **p + 1); return 0; } |
Sorunun yanıtı şu seçeneklerden biri de olabilir: Sentaks hatası (derleme zamanı hatası) Tanımsız davranış.