Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 29.02.2012, 21:57   #1
Dexes
Пользователь
 
Регистрация: 27.12.2011
Сообщений: 86
По умолчанию Процедура возвращает нули (готовим бубен)

Добрый вечер.

Код:
uses crt;
type names_array = array [1..10] of string;
	 cost_array = array[1..10] of integer;
	 new_cost_array = array [1..10] of real;

var names: names_array;
    costs: cost_array;
    new_costs: new_cost_array;
    proc, i, count :integer;

procedure my_read(MRCount: integer; var MRNames: names_array; MRCosts: cost_array);
var i: integer;
begin
  writeln('Please write name & cost of product');
  for i:=1 to MRCount do
    begin
      write(i, '. Name: ');
   		readln(MRNames[i]);
      write('Cost of "', MRNames[i], '": ');
	  	readln(MRCosts[i]);
    end;
  for i:=1 to MRCount do
    write(MRCosts[i], ' ');
end;

procedure inc_proc(IPCount, IPProc: integer; IPCosts: cost_array; var IPNcosts: new_cost_array);
var i: integer;
begin
  for i:=1 to IPCount do
     IPNcosts[i]:=IPCosts[i]*(IPProc/100+1);
end;

procedure my_write(MWCount: integer; MWNames: names_array; MWOldCosts: cost_array; MWCosts: new_cost_array);
var i: integer;
begin
  writeln('N   Name, old cost, new cost');
  for i:=1 to MWCount do
    begin
       writeln(i:2, '. ', MWNames[i], ', ', MWOldCosts[i], '$, ', MWCosts[i]:8:3,'$');
    end;
end;

begin
 write('Please write count of product: ');
 readln(count);
 my_read(count, names, costs);
 for i:=1 to count do
     write(costs[i], ' ');
 write('The percentage increase the price: ');
 readln(proc);
 inc_proc(count, proc, costs, new_costs);
 my_write(count, names, costs, new_costs);
 readln;
end.
Процедура my_read в массив с ценами (costs) возвращает нули. Почему? Где ошибко?))

Ошибку нашел( Извиняюсь за то что потревожил.
Не хватает var'а

Последний раз редактировалось Dexes; 29.02.2012 в 21:59.
Dexes вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
[Lazarus] GetCaretPos возвращает нули. Alex Cones Lazarus, Free Pascal, CodeTyphon 6 18.02.2011 14:46
Запрос возвращает пустую таблицу, если один из подзаросов возвращает пустую таблицу ArtInt SQL, базы данных 9 12.05.2010 15:40
Нули artemavd Общие вопросы Delphi 22 03.08.2008 10:49
Убрать нули!!!) artemavd Общие вопросы Delphi 13 29.07.2008 09:10