天天看點

JAVA和ada,堅持Ada程式 - 堅持輸入

我手上有一個非常簡單的Ada項目 . 任務是收集“選民”投票并将其與每個“候選人”得分進行比較,并确定哪個候選人最适合選民 .

輸入看起來像這樣,然後輸出應該輸出:

Input:

0 0 0 1 1 1 -1 -1 -1 1

7

A

1 1 1 1 1 1 1 1 1 1

B

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1

C

1 -1 1 -1 1 -1 1 -1 1 -1

D

1 0 1 0 1 0 1 0 1 0

E

0 -1 0 -1 0 -1 0 -1 0 -1

F

1 1 1 1 0 0 0 0 0 0

G

0 0 0 1 -1 0 0 -1 1 1

Output:

A

F

G

到目前為止,我有一個程式,将每位候選人的選票與選民的投票進行比較 . 我知道我需要做什麼,因為我以前用Java做過,但我不知道如何在Ada中接受輸入 . 這是我到目前為止所擁有的 .

with Ada.Text_IO, Ada.Integer_Text_IO;

use Ada.Text_IO, Ada.Integer_Text_IO;

procedure Candidates is

-- take an array of candidates and determine which candidate best matches

-- the user's votes, then return those candidates

Number_Of_Candidates: Integer;

subtype VoterArray_Index is Integer range 1..10;

subtype CandidatesArray_Index is Integer range 1..Number_Of_Candidates;

type VoterArray is array(VoterArray_Index) of Integer;

type CandidatesArray is array(Character range 'A' .. 'Z') of array;

type Best_CandidatesArray is array(CandidatesArray_Index) of array;

Voter: VoterArray;

Candidates: CandidatesArray;

Best_Candidates: Best_CandidatesArray;

function Get_Input() is

-- get the input and put it into the correct arrays

Current_Line : string;

begin

Get(Current_Line);

function Get_Best_Score(CandidatesArray: in out CandidatesArray) is

-- go through the arrays and find the best score

SameAnswers: Integer;

DifferentAnswers: Integer;

BestScore: Integer;

subtype CandidateArray is array(VoterArray_Index) of Integer;

Candidate: CandidateArray;

begin

for I in CandidatesArray_Index loop

Candidate := Candidates(I);

for J in VoterArray_Index loop

if Candidate(J) /= 0 and Voter(J) /= 0 then

if Candidate(J) /= Voter(J) then

DifferentAnswers := DifferentAnswers + 1

else

SameAnswers := SameAnswers + 1

end if;

end if;

end loop;

if SameAnswers - DifferentAnswers >= BestScore then

Best_Candidates(I) := Candidate;

end if;

SameAnswers := 0;

DifferentAnswers := 0;

end loop;

end Get_Best_Score;

正如您所看到的,我不确定如何擷取數字并将它們放入數組中 . 如果你有任何建議或不同的方式我應該去做的事情,我全都聽見了 .

提前緻謝 .