Millet vekili sayisi hesabi

C programlaması ile problem çözümü. If deyimi,if-else deyimi case deyimi kullanımı ve döngüler.Dosya kullanımı.

1) Seçimde 3  partinin almış oldukları oy miktarlarına göre bir il için belirlenmiş olan milletvekili dağıtımı aşağıdaki mantık doğrultusunda
yapılmaktadır.

1. milletvekilliği, oy miktarı en yüksek olan partiye verilmektedir, ve ilgili partinin oy miktarı 2/3 düşürülmektedir. Bir sonraki milletvekili dağıtımı da benzer şekilde en fazla oyu olan partiye verilerek benzer şekilde o partinin oy miktarı da 2/3 miktarında eksiltilmektedir. işlem bu şekilde sürdürülerek hiç bir milletvekili kalmayıncaya kadar  işlem sürdürülmektedir.

Veri ortamından milletvekili sayısını ,ilin adını, ve de 3 partinin oy miktarlarını girerek her bir partinin çıkaracağı milletvekili sayısını bulan C
programını yazınız.

Örnek veri aşağıdaki şekilde verilmiş olabilir

Milletvekili                   1.Partinin      2.Patinin       3.Partinin
Sayısı         İl adı          Oy Sayısı       Oy sayısı       Oy sayısı
7           Magosa     428                 246             610

#include<stdio.h>
 #include<stdlib.h>
 int main()
 {
 int oy1,oy2,oy3,oy1topla,oy2topla,oy3topla,mvsayisi;
 oy1topla=0;
 oy2topla=0;
 oy3topla=0;
 
scanf("%d%d%d",&oy1,&oy2,&oy3);
 scanf("%d",&mvsayisi);
 while(mvsayisi!=0) {
 if(oy1>=oy2 && oy1>oy3)
 {
 oy1topla=oy1topla+1;
 oy1=oy1-oy1*2/3;
 }
 else if (oy2>=oy3 && oy2>oy1)
 {
 oy2topla=oy2topla+1;
 oy2=oy2-oy2*2/3;
 }
 else if (oy3>=oy2 && oy3>oy1)
 {
 oy3topla=oy3topla+1;
 oy3=oy3-oy3*2/3;
 }
 
mvsayisi=mvsayisi-1;
 }
 
printf("1.parti=%d 2.parti=%d 3.parti=%d milletvekili kazanacak.",oy1topla,oy2topla,oy3topla);
 system("pause");
 }

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.