KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)



Benzer belgeler
2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Adı Soyadı Öğrenci No. Toplam (100p) 2 (10p) +10p. 5 (25p) +10p. 3 (20p) 4 (25p) 1 (20p)

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

Programlama Dilleri Laboratuvarı

elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

Adı Soyadı : Öğrenci No :

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

Diziler (Arrays) Çok Boyutlu Diziler

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

/* Çember alanını hesaplar */

Final Sınavı Soruları Güz, Süre: 90 Dakika

STRİNG DİZİLER(KATARLAR)

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

Telefon Rehberi Uygulaması

C ile Uygulamalar 4 - Cevaplar

Sınav tarihi : Süre : 60 dak.

C PROGRAMLAMA D İ L İ

C dilinde if-else yapısı

Hafta 11 Çok Boyutlu Diziler

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE));

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

C ile Uygulamalar 3 - Cevaplar

Bil 101 Bilgisayar Yazılımı 1 Çözümlü Sorular Timur Karaçay

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

C ile Uygulamalar 2 - Cevaplar

Programlama Dilleri Laboratuvarı

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Final Sınavı Örnek Soruları Güz 2018 Süre: 90 Dakika

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

8. İŞARETCİLER (POINTERS)

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

BİL1001 Bilgisayar Bilimlerine Giriş 1

Adım Adım C. Dr. Hidayet Takcı

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

void main() { int a[] = {1, 2, 3, 4, 5, 6}; int *p=&a[2]; int **pp=&p; printf("%d", **pp+2); }

D İ Z İ L E R A R R A Y S

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct { int ID; char isim[15]; char soyisim[15];

Fonksiyonlar (Altprogram)

PROGRAMLAMAYA GİRİŞ DERS 2

BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ, MÜHENDİSLİK FAKÜLTESİ, BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BAHAR Y.Y. BM106 PROGRAMLAMA DİLLERİ 1, ARA SINAVI

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

printf("\nbilgilerini goruntulemek istediginiz ogrencinin numarasini girin: "); scanf("%d",&no);

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Programlama Dilleri 1. Ders 5: Göstericiler

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

DOSYA İŞLEMLERİ Programlama dilleri hafta -

Matris İşlemleri Uygulaması

Dr. Fatih AY Tel: fatihay@fatihay.net

BLM 111 ALGORİTMA VE PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Adı Soyadı : Öğrenci No :

Giris {\} /\ Suhap SAHIN Onur GÖK

C++ Dersi: Nesne Tabanlı Programlama

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Klavyeden girilen metnin karakter uzunluğu bulan C programı. Klavyeden girilen metin içerisindeki küçük ve büyük harf sayısını bulan C programı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

YAPILAR (STRUCTURES)

Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı

Fonksiyonlar. Yrd.Doç.Dr.Bülent Çobanoğlu

Programlama Dilleri 1. Ders 4: Diziler

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER

BİLG Dr. Mustafa T. Babagil 1

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

C PROGRAMLAMA D İ L İ

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı. A Grubu

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

Döngü ve Koşul Deyimleri

C PROGRAMLAMA D İ L İ

Temel Giriş/Çıkış Fonksiyonları

Fall Object-Oriented Programming Laboratory 02 - Structures

Bölüm 2 - C ile Programlamaya Giriş

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

C Konsol Giriş Çıkış Fonksiyonları

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

menu(besleme,toplam_odul,array,tercih,puan);//deger dondurmeyen fonksiyon cagiriliyor...

else *on=*on+1; return gecici; } int giseyeyerlestir(struct gise*giseler) {//giseye bos olmasi durumunda yerlestirme yapiliyor...

2. Dereceden Denklemin Köklerini Bulan Program

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Eln 1001 Bilgisayar Programlama I

Transkript:

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) 1. Kendisine gönderilen iki karakter dizisini birleştirip geriye tek bir dizi döndüren ve daha sonra bu yeni dizinin elemanlarını ascii koduna göre küçükten büyüğe sıralayıp oluşan yeni karakter dizisini ekrana basan kodu yazınız. Yeni dizi dinamik bellek yönetimi kullanılarak oluşturulacaktır. dizi1 ve dizi2 main içerisinde kullanıcıdan alınacaktır. Oluşan yeni dizi fonksiyondan geri döndürülüp main() içerisinde ekrana basılacaktır. Dizileri birleştiren fonksiyon prototipi = char *dizi_birlestir( char dizi1[], int boyut1, char dizi2[], int boyut2 ) Yeni diziyi sıralayan fonksiyon prototipi = char *dizi_sirala( char dizi[]) dizi1= a, l, i dizi2= g, e, l, d, i yenidizi= a, d, e, g, i, i, l, l #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> char *dizi_birlestir(char s1[],int u1,char s2[],int u2) char *s3; s3=(char *)calloc(sizeof(int),u1+u2); for(int i=0;i<u1;i++) s3[i]=s1[i]; for(int i=0;i<u2;i++) s3[i+u1]=s2[i]; return s3; char *dizi_sirala(char d[],int u) char c; char *ptr; for(int i=0;i<u;i++) for(int j=0;j<u;j++) for(int k=j+1;k<u;k++) if(d[j]>d[k]) c=d[j]; d[j]=d[k];

ptr=d; d[k]=c; return ptr; main() char s1[100],s2[100]; int u1,u2; char *ptr1,*ptr2; printf("string 1:"); scanf("%s",s1); printf("string 2:"); scanf("%s",s2); u1=strlen(s1); u2=strlen(s2); char s3[u1+u2]; ptr1 = dizi_birlestir(s1,u1,s2,u2); for(int i=0;i<u1+u2;i++) //printf("%c",*(ptr1+i)); s3[i] = *(ptr1+i); ptr2=dizi_sirala(s3,u1+u2); for(int i=0;i<u1+u2;i++) printf("%c",*(ptr2+i)); getch(); 2. Kullanıcı tarafından girilen 2 adet 8 bitlik binary(ikili) sayıyı karşılaştır() fonksiyonu bit bit karşılaştırıp eğer karşılaştırılan iki bit birbirine eşit ise 0 birbirinden farklı ise 1 değerini veren yeni bir 8 bitlik diziyi oluşturunuz. İlk dizi : 0 0 0 1 1 1 0 1 : 29 İkinci dizi: 1 0 0 1 0 1 0 0 : 148 Üçüncü dizi: 1 0 0 0 1 0 0 1 : 137 #include<stdio.h> #include<conio.h> #include<stdlib.h>

int karsilastir(int x,int y) if (x==y) return 0; return 1; main() char bit1[8],bit2[8],bit[8]; puts("8 bit girin"); for(int i=0;i<8;i++) bit1[i]=getch()-48; if(bit1[i]!=0 && bit1[i]!=1) i-=1; continue; printf("%d",bit1[i]); puts("\n"); for(int i=0;i<8;i++) bit2[i]=getch()-48; if(bit2[i]!=0 && bit2[i]!=1) i-=1; continue; printf("%d",bit2[i]); puts("\n"); for(int i=0;i<8;i++) bit[i] = karsilastir(bit1[i],bit2[i]); printf("%d",bit[i]); puts("\n"); getch(); 3. Bir banka müşterilerine doğum günlerinde mesaj atmak için bir kayıt listesi oluşturmuştur. Kayıt listesinde ad, soyad,.doğum tarihi yer almaktadır. Doğum günü bugüne rastlayan müşterilere mesaj atan dogumgunubul() fonksiyonunu gerçekleyiniz. Struct yapısı kullanmak zorunludur. #include<stdio.h> #include<conio.h> #include<string.h> #include<stdlib.h> #include<time.h> struct musteri char adsoyad[30]; int telefon; int ay; int gun;

int yil; ; struct bugun int gun; int ay; int yil; kisi; typedef musteri Musteri; void dogumgunubul(musteri musteriler[]) for(int i=0;i<3;i++) kisi.gun=7; kisi.ay=6;kisi.yil=2012; if((kisi.gun==musteriler[i].gun)&&(kisi.ay==musteriler[i].ay)) printf("%s %d. yasiniz kutlu olsun.",musteriler[i].adsoyad,kisi.yilmusteriler[i].yil); main() int i; Musteri musteriler[3]; for( i=0;i<3;i++) printf("\n%d.musterinin adını ve soyadini giriniz",i+1); gets(musteriler[i].adsoyad); printf("\n%d.musterinin telefon numarasini giriniz",i+1); scanf("%d",&musteriler[i].telefon); printf("\n%d.musterinin dogum gunu tarihinin gunun giriniz ",i+1); scanf("%d ",&musteriler[i].gun); printf("\n ayini giriniz"); scanf("%d",&musteriler[i].ay); printf("\n yilini giriniz"); scanf("%d",&musteriler[i].yil); dogumgunubul(musteriler); getch();

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(II. ogr) 1. Araba üreten bir fabrikada hurdaya çıkacak olan araçların listesi tutulmaktadır. Bu listede aracın modeli, markası, rengi, fiyatı ve üretim yılı bilgileri tutulmaktadır. Bir aracın hurdaya kaldırılabilmesi için o aracın yaşının (bugünkü yıl-üretim yılı) 50 nin üzerinde (50 DÂHİL DEĞİL) olması gerekir. hurdabul() fonksiyonu kullanarak hurdaya çıkacak araçların tüm bilgilerinin yer aldığı listeyi ekrana yaşları büyükten küçüğe sıralı bir şekilde yazdırınız. Struct yapısı kullanılacaktır. Belirtilen fonksiyon haricinde fonksiyon kullanılamaz. #include "stdio.h" #include "stdlib.h" #include "conio.h" struct arac char model[30]; char marka[30]; char renk[30]; int fiyat; int yil; ; void hurdabul (int, struct arac []); int main () int n; printf ("kac arac var?\n"); scanf ("%d",&n); struct arac bilgi[n]; int i=0; printf ("araclarin bilgilerini giriniz\n"); for (i=0;i<n;i++) printf ("%d.arabanin\t",i+1); printf ("modeli: \n");scanf ("%s",&bilgi[i].model); printf ("markasi: \n");scanf ("%s",&bilgi[i].marka); printf ("rengi: \n");scanf ("%s",&bilgi[i].renk); printf ("fiyati: \n");scanf ("%d",&bilgi[i].fiyat); printf ("uretim yili: \n");scanf ("%d",&bilgi[i].yil); printf ("yasi 50 ve daha fazla olan hurda araclarin listesi\n"); hurdabul(n,bilgi); getch ();

void hurdabul (int n, struct arac bilgi[]) int i=0,j=0; for (i=0;i<n;i++) if ((2012-(bilgi[i].yil))>=50) printf ("modeli: %s\n",bilgi[i].model); printf ("markasi: %s\n",bilgi[i].marka); printf ("rengi: %s\n",bilgi[i].renk); printf ("fiyati: %d\n",bilgi[i].fiyat); printf ("uretim yili: %d\n",bilgi[i].yil); 2. Elemanları *5,10+ (rand() fonksiyonu yardımıyla) arasında olacak şekilde 3x5 lik bir tane matris oluşturup Bu matrisin her bir satırını kendi içinde küçükten büyüğe doğru sıralayıp matrisi ekrana yazdıran fonksiyonu yazıp test ediniz. RasgeleMatrislerUret(int A[][5])---matris üretme prototipi SıralaYazdır(int A*+*5+)---matris elemanlarını sıralayıp ekrana yazdırma prototipi Örneğin üretilen matris B*3+*5+=,,5, 8, 9, 7, 6-,,6, 10, 8, 7, 6-,,9, 8, 6, 5, 7, 7- - ise #include "stdio.h" #include "stdlib.h" #include "conio.h" #include "time.h" #define x 3 #define y 5 int main () srand(time(null)); int matris[x][y]=; int i=0,j=0; for (i=0;i<x;i++) for (j=0;j<y;j++) matris[i][j]=rand() %6 +5; for (i=0;i<x;i++) for (j=0;j<y;j++) printf ("%d\t",matris[i][j]); çıktı: B*3+*5+=,,5, 6, 7, 8, 9-,,6, 6, 7, 8, 10-,,5, 6, 7, 7, 8, 9- - olmalıdır.

printf ("\n\n"); printf ("**************************************************************\n"); printf ("dizinin satirlarinin kendi icinde kucukten buyuge sirali hali\n"); printf ("**************************************************************\n\n"); int gecici,a=0; for (i=0;i<x;i++) for (j=0;j<y-1;j++) for (a=0;a<y-1;a++) if (matris[j][a]>matris[j][a+1]) gecici=matris[j][a]; matris[j][a]=matris[j][a+1]; matris[j][a+1]=gecici; for (i=0;i<x;i++) for (j=0;j<y;j++) printf ("%d\t",matris[i][j]); printf ("\n\n"); getch (); 3. Bir matrisin her bir satırındaki elemanların toplamı, her bir sütunundaki elemanların toplamı ve iki köşegenindeki elemanların toplamı birbirine eşit ise buna sihirli matris denir. Kendisine argüman olarak verilen bir matrisin sihirli olup olmadığını test eden SihirliMatris(int A[][3]) prototipinde bir fonksiyon yazıp test ediniz. B[3][3]= 8, 1, 6, 3, 5, 7, 4, 9, 2 matrisi sihirli bir matristir. (8+1+6=3+5+7=4+9+2=8+3+4=1+5+9=6+7+2=8+5+2=6+5+4=15) #include<stdio.h> #include<conio.h> #define boyut 3 bool sihirlimatris(int [][boyut]); main() int dizi[3][3]=2,7,6,9,5,1,

4,3,8; if(sihirlimatris(dizi)) printf("sihirli matristir..."); else printf("sihirli matris değildir..."); getch(); bool sihirlimatris(int dizi[][boyut]) int satir[boyut]=0,sutun[boyut]=0,d1=0,d2=0; int k=0,l=0,m=0; for(int i=0;i<boyut;i++) for(int j=0;j<boyut;j++) if(i==j) d1+=dizi[i][j]; if(boyut-j-1==i) d2+=dizi[i][j]; l=0; k++; int say=satir[0]; int say2=sutun[0]; satir[k]+=dizi[i][j]; sutun[l]+=dizi[i][j]; l++; if(d1!=say d2!=say2) return false; for(int i=0;i<boyut;i++) if(say!=satir[i]) return false; return true;