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"); }