Top Banner
ÇİZELGELEME 3003080041 Hakkı ÖZTÜRK 3003080041 Burak İZCİ 3103080015 Anıl DEMİR 3103080014 Gizem ÇINAR
20

çİzelgeleme projesi̇

Jul 22, 2015

Download

Documents

Burak Izci
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: çİzelgeleme projesi̇

ÇİZELGELEME

3003080041 Hakkı ÖZTÜRK

3003080041 Burak İZCİ

3103080015 Anıl DEMİR

3103080014 Gizem ÇINAR

Page 2: çİzelgeleme projesi̇

İÇİNDEKİLER: Problemin Tanımı………………………………………………………………………………3

Problemin Algoritması…………………………..………………………………………….4

Problemin Akış Şeması………………………………………………………………………6

Problemin C Kodu……………………………………………………………………………..8

Örnekler

a) Örnek 1…………………………………………………………………………………………….…...18

b) Örnek 2……………………………………………………………………………………….…………19

2

Page 3: çİzelgeleme projesi̇

ÇİZELGELEME:Teslim tarihi ve işlem süresi verilen N tane işi, seçimli

olarak ya en kısa işlem süresine göre ya da en yakın teslim tarihli işe göre sıralayarak, seçilen sıralama türüne göre oluşan toplam gecikmeyi hesaplayan bir C programı yazınız. Yapılması gerekenler aşağıda sıralanmıştır:1. Kullanıcıdan N sayısı istenecektir.2. Bu N işe ait işlem süreleri kullanıcıdan istenecektir.3. Her işe ait teslim süresi (1-5) arasında üretilen bir rastgele sayı ile

işlem süresinin çarpılması ile hesaplanacaktır. Örnek: işlem süresi 15 ise teslim süresi 15*4=60 olacaktır.

4. Kullanıcıya hangi kritere göre işlerin sıralanacağı sorulacaktır. Verilen cevaba göre işler sıralanacaktır.

5. İşler sıralandıktan sonra toplam gecikme (işin bitiş zamanı-teslimat süresi) hesaplanacaktır. Teslim tarihinden önce biten işlerde gecikme olmadığını unutmayın.

3

PROBLEMİN TANIMI

Page 4: çİzelgeleme projesi̇

PROBLEMİN ALGORİTMASI Adım 1: Programa başla. Adım 2: N sayısını iste. Adım 3: N sayısını oku. Adım 4: İşlem sürelerini iste. Adım 5: İşlem sürelerini oku. Adım 6: a[i] dizisine 1 ile 5 arasında rastgele sayı ata. Adım 7: Teslim süresi=işlem süresi*a[i] Adım 8: Teslim süresini yaz. Adım 9: Teslim süresinin ilk haline x i işlem süresinin ilk halini

normal işlem süresine ata. Adım 10: Seçime götür. Seçim 1 ise en kısa işlem süresine göre

sırala veya seçim 2 ise en kısa teslim süresine göre sırala. Değilseadım 1’e dön

Adım 11: Sıralamayı yazdır.

4

Page 5: çİzelgeleme projesi̇

5

Adım 12: Gecikme süresi=işlem süresi-normal işlem

Adım 13: Gecikme süresini yazdır.

Adım 14: Gecikme süresi >0 ise gecikmeleri toplat ve yazdır. Değilse adım 15’e geç.

Adım 15: Bitir.

Page 6: çİzelgeleme projesi̇

PROBLEMİN AKIŞ ŞEMASI

6

Page 7: çİzelgeleme projesi̇

7

Page 8: çİzelgeleme projesi̇

PROBLEMİN C KODU #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> main () { int n; srand(time(NULL)); printf("n sayisini giriniz:\n"); scanf("%d",&n); int

islemsuresi[n],teslimsuresi[n],a[n],i,j,secim,k,x[n],normalislem[n],gecikme[n],toplam=0;

8

Page 9: çİzelgeleme projesi̇

for(i=0;i<n;i++)

{

printf("%d.islem suresini giriniz:\n=",i+1);

scanf("%d",&islemsuresi[i]);

a[i]=1+rand()%5;

teslimsuresi[i]=0;

}

printf("teslim suresi:\n");

9

Page 10: çİzelgeleme projesi̇

for(i=0;i<n;i++) { gecikme[i]=0; x[i]=0; normalislem[i]=0; teslimsuresi[i]=a[i]*islemsuresi[i]; } for(i=0;i<n;i++) { printf("%d.urunun teslim suresi=\n",i+1); printf("%d\n",teslimsuresi[i]); }

10

Page 11: çİzelgeleme projesi̇

strcpy(x,teslimsuresi);

strcpy(normalislem,islemsuresi);

printf("***MENU***\n");

printf("[1] en kisa islem suresine gore\n");

printf("[2] en kisa teslim tarihine gore\n");

printf("seciminiz:\n");

scanf("%d",&secim);

switch(secim)

11

Page 12: çİzelgeleme projesi̇

{ case 1: for(i=0;i<=n;i++) { for (j=i+1;j<=n-1;j++) { if(islemsuresi[i]>islemsuresi[j]) { k=islemsuresi[i]; islemsuresi[i]=islemsuresi[j]; islemsuresi[j]=k; } } } for(i=0;i<n;i++) { printf("%d-",islemsuresi[i]); } break;

12

Page 13: çİzelgeleme projesi̇

case 2: for(i=0;i<=n;i++) { for (j=i+1;j<=n-1;j++) { if(teslimsuresi[i]>teslimsuresi[j]) { k=teslimsuresi[i]; teslimsuresi[i]=teslimsuresi[j]; teslimsuresi[j]=k; } } } for(i=0;i<n;i++) { printf("%d-",teslimsuresi[i]); } break;

13

Page 14: çİzelgeleme projesi̇

default:

printf("Yanlis secim. Tekrar deneyin!");

break;

}

14

Page 15: çİzelgeleme projesi̇

if(secim=1) { for(i=0;i<n;i++) { gecikme[i]=islemsuresi[i]-normalislem[i]; printf("\n"); printf("%d\n",gecikme[i]); if(gecikme[i]>0) { toplam+=gecikme[i]; } } }

15

Page 16: çİzelgeleme projesi̇

else { for(i=0;i<n;i++) { gecikme[i]=teslimsuresi[i]-x[i]; printf("%d\n",gecikme[i]); if(gecikme[i]>0) { toplam+=gecikme[i]; } } }

16

Page 17: çİzelgeleme projesi̇

printf("toplam gecikme=%d",toplam);

return 0;

}

17

Page 18: çİzelgeleme projesi̇

Örnek 1:

18

ÖRNEKLER

Page 19: çİzelgeleme projesi̇

Örnek 2:

19

Page 20: çİzelgeleme projesi̇

Bizi dinlediginiz için tesekkür ederiz …

20