| Цитата | | В Программе должен использоваться одномерный массив. |
Хм, и каким образом мы в одномерном массиве сможем хранить одновременно и название животного, и его рейтинг? Не, конечно можно изващьнутся и все это сделать, но по моему это больше похоже на мазохизм ИМХО здесь нужен двумерный массив.
| Цитата | | И программа, не консольное приложение. |
Короче я тут кое-чего накатал на Delphi. Данные брал из внешнего файла, в котором каждая строка обозначает один ответ, т.к. откуда брать данные не указано.
| Код | procedure Sort(StrGrd : TStringGrid; ColNumber : integer); var i, j : integer; max : integer; str1: string[20]; str2,str3:string[5]; begin for i:=0 to StrGrd.RowCount-1 do begin max:=i; for j:=StrGrd.RowCount-1 downto i do if StrToInt(StrGrd.Cells[ColNumber,j])>StrToInt(StrGrd.Cells[ColNumber,max]) then max:=j; if max<>i then begin str1:=StrGrd.Rows[i][0]; str2:=StrGrd.Rows[i][1]; str3:=StrGrd.Rows[i][2]; StrGrd.Rows[i]:=StrGrd.Rows[max]; Strgrd.Rows[max][0]:=str1; Strgrd.Rows[max][1]:=str2; Strgrd.Rows[max][2]:=str3; end; end; end;
procedure TForm1.Button1Click(Sender: TObject); var i : byte; str : string; f : textfile ; flag : boolean; n : integer; begin flag:=false; AssignFile(f,'data.txt'); StringGrid1.ColCount:=3; StringGrid1.RowCount:=1; Reset(f); while not Eof(f) do begin readln(f,str); if str<>'' then if StringGrid1.Cells[0,0]='' then begin StringGrid1.Cells[0,0]:=LowerCase(str); StringGrid1.Cells[1,0]:='1'; n:=1; end else begin flag:=false; for i:=0 to StringGrid1.RowCount-1 do if LowerCase(str)=LowerCase(StringGrid1.Cells[0,i]) then begin flag:=true; StringGrid1.Cells[1,i]:=IntToStr(StrToInt(StringGrid1.Cells[1,i])+1); inc(n); break; end;
if flag=false then begin StringGrid1.RowCount:=StringGrid1.RowCount+1; StringGrid1.Cells[0,StringGrid1.RowCount-1]:=str; StringGrid1.Cells[1,StringGrid1.RowCount-1]:='1'; inc(n); end; end; end; CloseFile(f); for i:=0 to StringGrid1.RowCount-1 do StringGrid1.Cells[2,i]:=IntToStr(Round(StrToInt(StringGrid1.Cells[1,i])*100/n))+' %';
Sort(StringGrid1,1); end;
| |