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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 14.05.2014, 16:28   #1
shalgan
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 68
По умолчанию отладка кода

добрый день, помогите пожалуйста отладить код
Код:
type
mas=array[1..100]of integer;
function sw(a:mas; b:integer):integer;
var
i,n,g:integer;
begin
g:=0;
for i:=1 to n do begin
if a[i]>0 then begin a[i]:=0;sw:=g;end;end;end;
procedure TForm1.Button1Click(Sender: TObject);
var
x,y:array[1..100] of integer;
n,i:integer;
begin
n:=memo1.Lines.Count;
for i:=1 to n do begin
  x[i]:=strtoint(memo1.Lines[i-1]);
  y[i]:=strtoint(memo2.Lines[i-1]);
end;
memo3.Lines.Add(inttostr(sw(x,n)));
memo4.Lines.Add(inttostr(sw(y,n)));
end;

end.
ошибку выдает в "memo3.Lines.Add(inttostr(sw(x,n))) ;"
shalgan вне форума
Старый 14.05.2014, 16:36   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вместо
Цитата:
Код:
var 
x,y:array[1..100] of integer;
напишите:
Код:
var
x,y: mas;
впрочем, функция sw непонятно что делает (точнее - не делает),
поэтому дальше надо с ней разбираться.
и уж, как минимум, выкиньте из функции n и сделайте цикл до b:
Код:
  function sw(a: mas; b: integer): integer;
  var
    i, g: integer;
  begin
    g := 0;
    for i := 1 to b do begin
...

Кстати, а что подразумевалось должна возвращать функция sw?
И зачем она пытается изменить переданный ей массив?! (впрочем, безрезультатно, но пытается же!!)

Последний раз редактировалось Serge_Bliznykov; 14.05.2014 в 16:41.
Serge_Bliznykov вне форума
Старый 14.05.2014, 16:42   #3
shalgan
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 68
Печаль

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вместо

напишите:
Код:
var
x,y: mas;
впрочем, функция sw непонятно что делает (точнее - не делает),
поэтому дальше надо с ней разбираться.
и уж, как минимум, выкиньте из функции n и сделайте цикл до b:
[code]
function sw(a: mas; b: integer): integer;
var
i, g: integer;
begin
g := 0;
for i := 1 to b do begin
программа уже запустилась, но теперь вот это Безымянный.jpg
shalgan вне форума
Старый 14.05.2014, 16:43   #4
shalgan
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 68
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вместо

напишите:
Код:
var
x,y: mas;
впрочем, функция sw непонятно что делает (точнее - не делает),
поэтому дальше надо с ней разбираться.
и уж, как минимум, выкиньте из функции n и сделайте цикл до b:
Код:
  function sw(a: mas; b: integer): integer;
  var
    i, g: integer;
  begin
    g := 0;
    for i := 1 to b do begin
...

Кстати, а что подразумевалось должна возвращать функция sw?
И зачем она пытается изменить переданный ей массив?! (впрочем, безрезультатно, но пытается же!!)


должна заменять все положительные элементы нулями
shalgan вне форума
Старый 14.05.2014, 16:45   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от shalgan Посмотреть сообщение
должна заменять все положительные элементы нулями
добавьте ключевое слово var перед параметром, где Вы массив передаёте.

У Вас функция возвращает какое-то целое число (ну, там мусор, но не суть).вопрос - А что функция ДОЛЖНА по вашему вернуть?



избегайте излишнего цитирования - оставляйте в цитате только то, что Вам необходимо для ответа!
Serge_Bliznykov вне форума
Старый 14.05.2014, 16:54   #6
shalgan
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 68
По умолчанию

вопрос - А что функция ДОЛЖНА по вашему вернуть?

Массив с нулями,без положит.чисел
shalgan вне форума
Старый 14.05.2014, 16:57   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы меня не понимаете.
у Вас функция типа integer
она возвращает ЧИСЛО (одно число)
Что это за число?!
Для чего Вы написали:
Цитата:
Код:
memo3.Lines.Add(inttostr(sw(x,n)));
чтобы в memo3 что за число увидеть?!!

сдаётся мне, что Вам нужна не функция, а ПРОЦЕДУРА!!

Код:
type
  mas = array[1..100] of integer;
  procedure sw(var a: mas; NMas: integer);
  var  i: integer;
  begin
    for i := 1 to NMas do 
      if a[i] > 0 then a[i] := 0
   end;
....

вызов
  sw(x,n);

Последний раз редактировалось Serge_Bliznykov; 14.05.2014 в 23:01.
Serge_Bliznykov вне форума
Старый 14.05.2014, 17:29   #8
shalgan
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 68
По умолчанию

Цитата:
Код:
type
  mas = array[1..100] of integer;
  procedure sw(var a: mas; NMas: integer);
  var  i: integer;
  begin
    for i := 1 to NMas do 
      if a[i] > 0 then a[i] := 0
   end;
....

вызов
  sw(x,n);

Хмм, Спасибо большое, в этом полугодии с процедурами вообще не работали,кроме procedure TForm1.Button1Click(Sender: TObject); поэтому функции более понятные)

Последний раз редактировалось Serge_Bliznykov; 14.05.2014 в 23:02.
shalgan вне форума
Старый 14.05.2014, 23:05   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

процедуры, это то же самое, что и функции, только функция возвращает значение, а процедура - нет.

например.
Код:
  z : = sin(x); {sin(x) - это функция, возвращает вещественное число}
   
  Delete(s, 1, 1); { Delete - это процедура}
p.s. тему можно закрывать?
Serge_Bliznykov вне форума
Старый 15.05.2014, 11:47   #10
shalgan
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 68
По умолчанию

p.s. тему можно закрывать?[/COLOR][/I][/QUOTE] да
shalgan вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отладка cocacola Win Api 3 21.11.2013 00:40
ОТладка sir.andrey JavaScript, Ajax 2 13.11.2012 19:26
Отладка кода Клиент/Сервер Merzaffka C++ Builder 1 14.07.2011 10:55
Отладка Gen_r_questions PHP 3 17.03.2011 09:24
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51