Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите пжалстаааа
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
mitten
хз что что не правильно((в 56 строке там стоит Val.программу не устраивает.единственный мой вариант что там должен стоять другой оператор но хз какой.он должен переводить строку в число.


program Project1;

var

kg{количество городов},maxi{индекс максимума},max{максимум},z,
fl1,fl2{флажки}:integer;
i,j,k,m,n1,n2:integer;{разные счетчики}
nazv: array [0..13] of string;{исходный массив городов и их населения}
tabl1,tabl2: array [0..13] of string; {окончательные масивы}
massfl: array [0..13] of integer; {массив флажков, показывают записал уже
этот город или нет}

begin
{тут пишу своей графикой кто выполнил и т.д., }

{тут опять вывожу графикой или как хочешь}
writeln ('Vvedite koli4estvo gorodov');
fl1:=0;
repeat
if fl1=1 then writeln ('Nevernoe 4islo, Vvedite koli4estvo gorodov');
Readln(Kg);
fl1:=1;
until (Kg>=2) and (kg<=14);

{тут ввдится исходный массив, }
For i:=0 to kg-1 do
begin
Writeln ('VVedite nazvanie ',i+1,'-go goroda и ego naselenie');
readln (nazv[i]);
If i=kg-1 then writeln ('&');
end;

n1:=-1;
n2:=-1;
{тут в исходном массиве поочередно ищется максимум и распределяются города
по двум другим массивам, которые ты выведешь в соотв две таблицы}
For i:=0 to kg-1 do
begin
max:=0;
for j:=0 to kg-1 do
begin
if massfl[j]=0 then {смотрю только те строки, которые еще не}
begin {распределили по таблицам }
{находим пробел, отделяющий количество людей от названия города}
fl2:=0;
for k:=Length(nazv[j]) downto 0 do
if fl2=0 then
if Copy(nazv[j],k,1)=' ' then begin {если нашел пробел,}
m:=k; { то искать прекращает}
fl2:=1;
end;
z:=Val(Copy(nazv[j],m+1,Length(nazv[j])-m));
if z>max then begin
max:=z;
maxi:=j;
end;
end;
end;
massfl[maxi]:=1;
If max > 100000 then {тут формируются массивы}
begin {В одном больше 100000,}
N1:=N1+1; {в другом меньше}
tabl1[n1]:=nazv[maxi];
end
else
begin
N2:=N2+1;
tabl2[n2]:=nazv[maxi];
end;
end;
{теперь просто вывести надо всё}
For i:=0 to n1 do
writeln (tabl1[i]);
For i:=0 to n2 do
writeln (tabl2[i]);
readln;
end.
volvo
Val - не функция, а процедура...

z:=Val(Copy(nazv[j],m+1,Length(nazv[j])-m));

заменить на
Val(Copy(nazv[j],m+1,Length(nazv[j])-m), z, error); { <--- описать error: integer; }
mitten
огромное спасибо!!!!!!!!!!!
mitten
а ещ вопрос,как данные в паскале раскидать на 2 таблицы.не используя процедуры и модуль граф????кто-то гооврил по строчкам как-то можно рисовать..
Michael_Rybak
 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги code

Исправляем.



Ozzя
Цитата
а ещ вопрос,как данные в паскале раскидать на 2 таблицы.не используя процедуры и модуль граф????кто-то гооврил по строчкам как-то можно рисовать..

Массивы. Матрицы. Типичные задачи.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.