Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Паскаль, задачи

Автор: Russel 6.06.2009 22:32

Здравствуйте. Уже просил помощи на этом замечательном форуме, откликнулись. Снова понадобилась помощь.

Задачу в трех вариантах надо сделать: Обычным способом, через запись, через процедуры.

Задание 7
Даны массивы
N1, ... , N7 - наименования операций по ремонту оборудования;
S1, ... , S7 - стоимость каждой операции.
Вывести список операций, стоимость которых от 100 до 150 руб. Найти самую дорогую операцию.


Вот я начал:

var 
n:array [1..7] of string [5];
s:array [1..7] of integer;
spisok:string;
f:text;
dor: real;
imax:byte;
t1, t2, t3, t4 string [41];
begin
assign (fl, 'C:\remont.txt');
reset (fl);
for i:=1 to 7 do
begin
readln (fl, n[i], s[i]);
close (fl);


Подскажите как дальше? Как с помощью таблицы аски таблицу нарисовать?

Вот файл:

rem-1 50
rem-2 70
rem-3 100
rem-4 120
rem-5 140
rem-6 150
rem-7 200

Автор: Lapp 7.06.2009 0:51

Цитата(Russel @ 6.06.2009 19:32) *
Подскажите как дальше? Как с помощью таблицы аски таблицу нарисовать?
Дпльше нужно делать то, что спрашивается:

max:=1;
for i:=1 to 7 do begin
if (100<=s[i])and(s[i]<=150) then WriteLn(n[i]);
if s[i]>s[max] then max:=i
end;
WriteLn('The most expansive procedure is ',n[max]);


А ты еще хочешь типа красивые рамочки рисовать, да?


Добавлено через 2 мин.
Только убери begin в предпредпоследней строке. Или добавь end после readln..

Автор: Russel 7.06.2009 12:45

Вот вариант задачи одногруппника:

Задание 7
Даны массивы
PR1, ... , PR9 - наименования предприятий;
T1, ... , T9 - процент увеличения прибыли за год.
Вывести список предприятий, у которых процент прибыли за год выше средних по всей группе пред­приятий.

Решение:

Изображение Изображение Изображение

Нужно вот так сделать.

Автор: Lapp 7.06.2009 13:22

Цитата(Russel @ 7.06.2009 9:45) *
Нужно вот так сделать.
Прекрасно, сделай так smile.gif. Номера символов псевдографики я сейчас не помню (что-то в районе 200), но это всегда легко узнать самому. Сделай себе табличку, типа так:
var
i,j: integer;

begin
for i:=2 to 15 do begin
for j:=0 to 15 do Write(Chr(i*16+j):2);
WriteLn
end
end.

по желанию можно добавить нумеруцию с боков)).

Кстати, еще способ ввода..
1. Нажми кнопку Alt левой рукой и держи.
2. Правой рукой на цифровой клавиатуре (справа, где стрелки) набери новер символа.
3. Отпусти Alt - символ должен появиться.

Например, я сделал сейчас так с номером 198. Получил ╞
Или, номер 65 - получаю A

Автор: Russel 7.06.2009 14:44

Вот, пока просто выводит список.

Изображение
Изображение

Автор: Russel 7.06.2009 18:28

Подскажите плиз, как дальше и что неправильно.

Автор: Lapp 8.06.2009 4:23

Цитата(Russel @ 7.06.2009 15:28) *
Подскажите плиз, как дальше и что неправильно.
Как ты предлагаешь людям проверять твой код? Набирать вручную? Или использовать OCR? Приведи нормальный код, кок обычно, в сообщении, с тэгами..