Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001)



Relevanta dokument
Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001)

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Tentamen i Programmering C, Fri, Kväll,

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Belopp Belopp > procent

Programmering Grundkurs (HI1900) Teoridel

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Nu till dagens ämne: Vi rekapitulerar det första problemet ur ProblemI:

Enkla uppgifter. Uppgift 1. Uppgift 2

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Fredagen 14 januari Tentamen består av 8 sidor

Uppgifter att lösa 1,1,2,3,5,8,13,21...

ÖVNINGSTENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 10:15-13:15. Torsdagen 20 maj Tentamen består av 4 sidor.

BMI = (vikt i kg) / (längd i m) 2. Lösningsförslag

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Detta är andra problemlösningsföreläsningen, vi diskuterar problemen ur Problem II.

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 8:15-13:15. Måndag 8 juni Tentamen består av 4 sidor.

HI1024 Programmering, grundkurs TEN

Följande, ur problemsynpunkt enkla uppgifter, är till för att nöta in dagens teori.

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Omtentamen i Programmering C, Fri, Kväll,

1,3,5,7,9,...,99. Skriv ett program som genererar en multiplikationstabell med följande utseende

Fråga 13. Skriv en loop som fyller arrayen int v[100] med talen

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.

Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga,

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN1 - Teoretisk tentamen Tid: Torsdagen den 20 oktober 2011,

Gör så här för att rapportera:

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

HI1024 Programmering, grundkurs TEN

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

HI1024 Programmering, grundkurs TEN

Programmering, grundkurs, 8.0 hp HI1024, TEN1. Fredagen den 2 mars 2012

HI1024 Programmering, grundkurs TEN

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

tentaplugg.nu av studenter för studenter

översiktskurs (5DV031)

TDP Regler

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl

C++ Slumptalsfunktioner + switch-satsen

LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I

Programmering i C, 7,5 hp

Tentamen ges för: Tentamensdatum: Tid:

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

BINÄRA TRÄD. (X = pekarvärdet NULL): struct int_bt_node *pivot, *ny; X X X 12 X X 12 X X -3 X X

Tentamen *:58/ID100V Programmering i C Exempel 3

1 Sifferkryss 21,15,9,22,15,8. i vårt exempel. Programmet ska i en tabell skriva ut de 9 talen, som för vårt exempel ger. Håkan Strömberg 1 KTH STH

Tentamen, EDAA10 Programmering i Java

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

Tentamen i Programmering

Tentamen i Programmering grundkurs och Programmering C

Föreläsning 9. Repetition och exempelproblem

Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1. Tisdagen den 7 juni 2011,

Tentamen TEN1 HI

Funktioner och programstruktur. Föreläsning 5

a = a a a a a a ± ± ± ±500

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

Programmering Grundkurs Laboration 1

UPPGIFT 1 TVÅPOTENSER. UPPGIFT 2 HISSEN I LUSTIGA HUSET.

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 8:15-13:15. Onsdagen 10 juni Tentamen består av 8 sidor

Funktioner och programstruktur. Föreläsning 5

Fråga 11. Vad skrivs ut? Fråga 12. Vad skrivs ut? Fråga 13. Vad skrivs ut? x=x+y; y=x-y; x=x-y;

Enkla datatyper minne

Programmering, grundkurs, 8.0 hp HI1024, extra tentamen, TEN1, för TIDAA1. Fredagen den 11 mars 2011,

kl Tentaupplägg

HI1024 Programmering, grundkurs TEN

Planering Programmering grundkurs HI1024 HT data

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:00. Fredag 28 maj Tentamen består av 4 sidor.

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:15. Torsdagen 7 juni Tentamen består av 5 sidor.

TDIU Regler

HI1024 Programmering, grundkurs TEN

Fråga 15. Följande deklarationer är givna

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 8:15-13:15 Tisdagen 13 januari Tentamen består av 8 sidor

Övning från förra gången: readword

Statistik över heltal

Dagens problem. Tal på fil. Förvandla heltal till sträng. Dialog

Problemlösning (3/5) Lösningar

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-17:15. Måndag 19 december Tentamen består av 5 sidor.

En kort text om programmering i C.

STYRANDE SATSER. 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år.

7 Programmeringsteknik

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:15. Onsdagen 21 maj Tentamen består av 6 sidor.

Inlämningsverktyget i Fronter för lärare

Switch, Array (fält) switch break, continue, goto (scary) Sammansatta tilldelningar Kommentarer Array Sortering

17.1 Kontinuerliga fördelningar

Tentamen i Programmering grundkurs och Programmering C

Uppgifter till praktiska tentan, del A. (7 / 27)

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Planering Programmering grundkurs HI1024 HT TIDAA

Föreläsning 10. Pekare (Pointers)

TDP Regler

Tentamen i. för D1 m fl, även distanskursen. lördag 28 maj 2011

Funktionens deklaration

INSTALLATION AV VITEC MÄKLARSYSTEM

Lämna in en ifylld kursvärdering tillsammans med tentan! Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl

Föreläsning 1 & 2 INTRODUKTION

kl Tentaupplägg

Uttryck och villkor. Föreläsning 2

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Omtentamen i Programmering C, 5p, A1, D1, PA1, Fri,

Transkript:

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001) Skrivtid: 8:15-13:15 Datum: Torsdagen 2003-08-21 Tentamen består av 4 sidor Hjälpmedel: Förutom dator med installerad Borland C++ 5.02 och Utforskaren (inga andra program), den kurslitteratur som använts under kursen, samt egna anteckningar, programlistningar och böcker. Dock inga egna disketter eller CD- ROM. Under W:\PROV\C finns 8 mappar, en för varje uppgift. Här kan finnas program- och datafiler till motsvarande uppgift. Kopiera över dessa till ditt konto. Till alla uppgifter ska ett program levereras i form av källkod (C eller CPP-fil). Dina bidrag lägger du i en katalog i roten på H:. Katalogen ska ha samma namn som prefixet i din mailadress. Exempelvis för Kalle Kula: HDI02KEKA. Namnen på lösningarna ska ges UPPG1.CPP till UPPG8.CPP. De är endast dessa filer som kommer att bedömas. Samtliga, till problemen hörande datafiler, där bokstäverna Å, Ä, Ö, ingår är lagrade i extended ASCII, vilket innebär att texten återges på rätt sätt då den skrivs ut i DOS-fönstret. Rättningen görs genom att programmen körs ett antal gånger för olika indata. Om resultatet överensstämmer med det förväntade bedöms programmet, som korrekt och ger 2 poäng. Om ett program ej kan kompileras utan fel, är det knappast troligt att det kommer att ge några poäng. I det fall där programmet läser från och eller skriver till en fil, testas programmet oftast med en annan fil än den bifogade. Betygsgränser: 8 10 poäng ger betyg 3, 11 13 poäng ger betyg 4 och 14 16 poäng ger betyg 5. Resultat anslås på programmets anslagstavla i RII. Lycka till! Niclas Hjelm, Håkan Strömberg Håkan Strömberg 1 KTH STH

Uppgift 1 Samma tal i två följder De två oändliga talföljderna nedan innehåller båda talen 26 och 54 12,19,26,33,40,47,54,61,68,75,82,89,96,103,110... 10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70... Den första följden startar med talet 12 och ökar sedan med 7, den andra startar med 10 och ökar med 4. Fortsätter vi framåt i de två följderna finner vi fler gemensamma tal. Skriv ett program som tar emot uppgift om följdernas start och steg och som bestämmer summan av de 5 första talen, som finns i båda följderna. Alla tal i uppgiften är positiva heltal. Följd 1 Start: 12 Följd 1 Steg : 7 Följd 2 Start: 10 Följd 2 Steg : 4 Den sökta summan är 410 Uppgift 2 Vita och svarta kulor I en urna finns v vita och s svarta kulor. Man ska nu dra en kula i taget från urnan tills alla vita kulor är dragna. Eftersom man inte lägger tillbaka kulor i urnan är försöket över efter minst v och som mest v+s dragningar. Skriv ett program som tar emot uppgift om antalet vita (v,1 v 10) och antalet svarta (s,1 s 10) kulor och som simulerar 100000 försök. Som resultat skrivs en tabell, som presenterar frekvensen i procent för de olika längderna hos försöken. Antal vita kulor : 5 Antal svarta kulor: 4 5 dragningar 0.79 % 6 dragningar 3.97 % 7 dragningar 11.91 % 8 dragningar 27.78 % 9 dragningar 55.56 % 0.79 % av försöken var över redan efter 5 dragningar. I hela 55.56 % fall behövdes det dock 9 dragningar (alla kulorna). Ditt program kommer troligtvis inte att ge exakt samma resultat. Håkan Strömberg 2 KTH STH

Uppgift 3 Siffersumma och sifferprodukt Talet 327 har siffersumman 12 eftersom 3+2+7 = 12 och och sifferprodukten 42 eftersom 3 2 7 = 42. Skriv ett program som tar emot uppgift om önskad siffersumma och sifferprodukt och som tar reda på det minsta positiva heltalet med just den siffersumman och sifferprodukten. Siffersumma : 12 Sifferprodukt : 42 Det eftersökta talet är 237 Uppgift 4 Överhettning Den anläggning som ska bevakas med hjälp av vårt program får inte bli överhettad. Med överhettad menas att den arbetat i otillåtet hög temperatur, över t grader, i minst m minuter i sträck. Om detta inträffar ska larmet slås på. En givare sänder uppgift om temperaturen till vår dator varje minut. Skriv ett program som utför denna övervakning genom att hämta data från filen temp.txt. På första raden anges maxtemperatur, t. På andra antalet minuter, m, och på tredje ett tal som anger hur många minuter p övervakningen gäller och på efterföljande rader finns temperaturer, från minut 1 till minut p. Alla indata är heltal. Körningsexemplet ger följande utskrifter: Maxtemeperatur 300 grader Intervallets längd är 3 min ALARM kommer efter 29 minuter Uppgift 5 Det mest förväntade ordet På filen fyrord.txt finns alla ord på fyra bokstäver, som också finns i SAOL (Svenska Akademins Ordlista). Skriv ett program som beräknar det mest förväntade ordet! Vi definierar detta ord genom att som inledande bokstav välja den vanligaste begynnelsebokstaven bland de givna orden. På samma sätt väljer vi den vanligaste bokstaven på andra plats och så vidare... Resultatet från denna ordfil blir sara, men när programmet senare ska testas använder vi förstås andra ordfiler, men alltid med en unik lösning.. Håkan Strömberg 3 KTH STH

Uppgift 6 Stulna dokument Det har varit inbrott på företaget och en del viktiga dokument har försvunnit. Detta upptäcktes troligtvis inte förrän långt efter själva stölden. När man nu ska se över säkerheten har man till sitt förfogande en logfil på vilken det finns uppgifter om vilka vakter som arbetat under veckan. Skriv ett program som tar reda på vid vilken tid under veckan som firman varit obevakad. Det handlar om en enda obevakad timme. Filen log.txt är uppbyggd på följande sätt. Filen inleds med ett tal som anger hur många uppgifter den innehåller (läs rader). På varje rad finns information om: dagnummer, vaktnr, starttid, sluttid. Dagnummer är löpande och finns i intervallet 1 till 7. Vaktnr anger vilken vakt som haft detta pass, ett tal 1...5. Starttid anger när vakten började sitt pass, i hela timmar i intervallet 0...23. Sluttid anger när vakten avslutade sitt pass 1...24, även det i hela timmar. Det är fullt möjligt att flera vakter arbetat samtidigt, men som sagt, det är den obevakade timmen vi är ute efter. För enkelhets skull antar vi att inga arbetspass sträcker sig över midnatt. Företaget var obevakat dag 4 timme 12 Uppgift 7 Dela en hemlighet På en arbetsplats finns 100 anställda. Precis som i verkligheten umgås inte alla med varandra, även om det finns gott om polare. Emellanåt dyker det upp intressant skvaller på jobbet. Den som fått tag i nyheten förmedlar den ganska snabbt till sina polare och efter någon arbetsdag, eller så, har alla, som direkt eller indirekt känner källan blivit informerade. Skriv ett program som inleder med att fråga vem som startar skvallret ( källan, ett tal 1..100) och som sedan tar reda på hur många personer på arbetsplatsen som till slut kommer att bli informerade. På filen polare.txt finns uppgifter om vilka som är polare. Alla anställda har ett anställningsnummer 1 till 100. Filen inleds med ett tal p,1 p 500, som anger hur många par av polare det finns. Därefter kommer lika många rader med två tal, som anger ett par av polare. Källa: 61 5 personer kommer att känna till nyheten Nämligen 5,30,57,61 och 64. Håkan Strömberg 4 KTH STH

Uppgift 8 Charterresor På binärfilen charter.dat finns statistik om svenska folkets resvanor med charter under åren 1974 till 1982. Filen hanterar ett land i taget och är uppbyggd av följande struct: struct landtyp{ char namn[20]; int antal[9]; }; Alltså först landets namn i fältet namn och sedan det antal personer som reste till detta land under åren 1974 till 1982 i arrayen antal, i denna ordning. Skriv ett program som tar emot uppgift om vilket år som avses och som därefter skriver ut en sorterad lista över de länder som ingår i filen. Listan ska vara sorterad efter och dessutom innehålla den procentuella andelen (med en decimal) av resenärer till det landet av samtliga charterresenärer det året. Här ett exempel med delar av utskriften: Vilket år: 1978 Spanien 39.3 Grekland 20.0 Storbritannien 9.8 Italien 6.3 Tyskland 4.2... Jugoslavien 0.7 Gambia 0.6 Cypern 0.3 Bulgarien 0.2 Håkan Strömberg 5 KTH STH

Uppgift 1 Samma tal i två följder 2 int main(void){ 3 int s1,d1,s2,d2,n=0,sum=0; 4 printf("följd 1 Start: "); 5 scanf("%d",&s1); 6 printf("följd 1 Steg : "); 7 scanf("%d",&d1); 8 printf("följd 2 Start: "); 9 scanf("%d",&s2); 10 printf("följd 2 Steg : "); 11 scanf("%d",&d2); 12 do{ 13 if (s1==s2) { 14 n++; 15 sum=sum+s1; 16 printf("%d ",s1); 17 s1=s1+d1; 18 s2=s2+d2; 19 } 20 else 21 if (s1<s2) 22 s1=s1+d1; 23 else 24 s2=s2+d2; 25 } while (n<5); 26 printf("den sökta summan är %d\n",sum); 27 } Håkan Strömberg 1 KTH STH

Uppgift 2 Vita och svarta kulor Version 1 2 #include <stdlib.h> 3 #include <time.h> 4 5 int main(void){ 6 int v,v1,s,s1,n,f[21]={0},forsok,i,kula; 7 srand(time(0)); 8 printf("antal vita kulor? "); 9 scanf("%d",&v); 10 printf("antal svarta kulor? "); 11 scanf("%d",&s); 12 for (forsok=1;forsok<=100000;forsok++){ 13 n=0; 14 v1=0; 15 s1=0; 16 while (v1<v){ 17 kula=rand()%(v-v1+s-s1)+1; 18 if (kula<=v-v1) 19 v1++; 20 else 21 s1++; 22 n++; 23 } 24 f[n]++; 25 } 26 for (i=v;i<=v+s;i++) 27 printf("%d dragningar %8.3f %%\n",i,f[i]/1000.0); 28 } Håkan Strömberg 2 KTH STH

Version 2 Detta program har en rekursiv funktion och bestämmer de exakta värdena genom att generera alla möjliga dragningssekvenser. Vi återkommer till detta i kursen Algoritmer och Datastrukturer. 2 int f[10]={0},vita=5,svarta=4; 3 4 void solve(int n,int v,int s){ 5 if (n<=vita+svarta) 6 if (v==vita) 7 f[n]++; 8 else{ 9 solve(n+1,v+1,s); 10 solve(n+1,v,s+1); 11 } 12 } 13 14 int main(void){ 15 int i,sum=0; 16 solve(0,0,0); 17 for (i=vita;i<=vita+svarta;i++) 18 sum+=f[i]; 19 for (i=vita;i<=vita+svarta;i++) 20 printf("%d %8.3f\n",i,100.0*f[i]/sum); 21 } Håkan Strömberg 3 KTH STH

Uppgift 3 Siffersumma och sifferprodukt 2 int main(void){ 3 int tal,tal1,s,p,s1,p1,siffra; 4 printf("vilken siffersumma : "); 5 scanf("%d",&s); 6 printf("vilken sifferprodukt: "); 7 scanf("%d",&p); 8 tal=0; 9 do{ 10 tal++; 11 tal1=tal; 12 p1=1; 13 s1=0; 14 while (tal1>0){ 15 siffra=tal1%10; 16 s1=s1+siffra; 17 p1=p1*siffra; 18 tal1=tal1/10; 19 } 20 }while(s1!=s p1!=p); 21 printf("det sökta talet är %d",tal); 22 } Håkan Strömberg 4 KTH STH

Uppgift 4 Överhettning 2 #include <stdlib.h> 3 #include <math.h> 4 int main(void){ 5 int temp,antal=0,min,intervall,n=0; 6 FILE *in; 7 in=fopen("temp.txt","rt"); 8 fscanf(in,"%d",&temp); 9 fscanf(in,"%d",&intervall); 10 fscanf(in,"%d",&antal); 11 for (min=1;min<=antal;min++){ 12 fscanf(in,"%d\n",&temp); 13 if (temp>300) 14 n++; 15 else 16 n=0; 17 if (n>intervall) 18 printf("alarm efter %d minuter\n",min); 19 } 20 fclose(in); 21 } Håkan Strömberg 5 KTH STH

Uppgift 5 Det mest förväntade ordet 2 int main(void){ 3 FILE *in; 4 char ord[5],p[5]; 5 int f[4][256]={{0}},i,j,max[4]={0},n; 6 7 in=fopen("fyrord.txt","rt"); 8 fscanf(in,"%d",&n); 9 for(i=1;i<=n;i++){ 10 fscanf(in,"%s",ord); 11 for(j=0;j<4;j++) 12 f[j][ord[j]]++; 13 } 14 fclose(in); 15 16 p[4]= \0 ; 17 for(i=0;i<4;i++) 18 for(j=0;j<256;j++) 19 if(f[i][j]>max[i]){ 20 max[i]=f[i][j]; 21 p[i]=j; 22 } 23 24 printf("%s\n",p); 25 } Håkan Strömberg 6 KTH STH

Uppgift 6 Stulna dokument 2 int main(void){ 3 int veckan[7*24]={0}; 4 int i,d,v,t1,t2,s1,s2,j,n,dag,timme; 5 FILE *in; 6 in=fopen("log.txt","rt"); 7 fscanf(in,"%d",&n); 8 for(i=1;i<=n;i++){ 9 fscanf(in,"%d %d %d %d",&d,&v,&t1,&t2); 10 s1=(d-1)*24+t1; 11 s2=(d-1)*24+t2-1; 12 for(j=s1;j<=s2;j++) 13 veckan[j]=1; 14 } 15 for(i=0;i<7*24;i++) 16 if(veckan[i]==0){ 17 dag=i/24+1; 18 timme=i%24; 19 printf("företaget var obevakat dag %d timme %d\n",dag,timme); 20 } 21 } Håkan Strömberg 7 KTH STH

Uppgift 7 Dela en hemlighet 2 3 int main(void){ 4 int vet[101]={0}; 5 int lista[501][2]; 6 int i,j,k,ok,n,p; 7 FILE *in; 8 9 in=fopen("polare.txt","rt"); 10 fscanf(in,"%d",&p); 11 for (i=1;i<=p;i++) 12 fscanf(in,"%d %d",&lista[i][0],&lista[i][1]); 13 fclose(in); 14 printf("källa: "); 15 scanf("%d",&k); 16 vet[k]=1; 17 n=1; 18 do{ 19 ok=0; 20 for (i=1;i<=p;i++){ 21 if (vet[lista[i][0]] vet[lista[i][1]]){ 22 for (j=0;j<=1;j++) 23 if (!vet[lista[i][j]]){ 24 ok=1; 25 n++; 26 vet[lista[i][j]]=1; 27 } 28 } 29 } 30 }while(ok); 31 printf("%d kommer att känna till skvallret\n",n); 32 } Håkan Strömberg 8 KTH STH

Uppgift 8 Charterresor 2 3 struct landtyp{ 4 char namn[20]; 5 int antal[9]; 6 }; 7 8 int main(void){ 9 FILE *in; 10 landtyp alla[100]; 11 float proc[100][2],tmp; 12 int i,j,n,ar,sum=0; 13 14 in=fopen("charter.dat","rb"); 15 fseek(in,0,seek_end); 16 n=ftell(in)/sizeof(landtyp); 17 fseek(in,0,seek_set); 18 fread(&alla,sizeof(landtyp),n,in); 19 20 printf("vilket år: "); 21 scanf("%d",&ar); 22 ar=ar-1974; 23 24 for(i=0;i<n;i++) 25 sum=sum+alla[i].antal[ar]; 26 27 for(i=0;i<n;i++){ 28 proc[i][0]=i; 29 proc[i][1]=100.0*alla[i].antal[ar]/sum; 30 } 31 32 for(i=0;i<n-1;i++) 33 for(j=i+1;j<n;j++) 34 if(proc[j][1]>proc[i][1]){ 35 tmp=proc[j][0]; proc[j][0]=proc[i][0]; proc[i][0]=tmp; 36 tmp=proc[j][1]; proc[j][1]=proc[i][1]; proc[i][1]=tmp; 37 } 38 39 for(i=0;i<n;i++) 40 printf("%-20s %5.1f\n",alla[(int)proc[i][0]].namn,proc[i][1]); 41 fclose(in); 42 } Håkan Strömberg 9 KTH STH