2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 работа с посыланием
Сообщение16.03.2009, 18:12 
подскажите пожалуйста код с посыланием к задаче - В массиве из n чисел найти наименьшое четное число! пожалуйста

 
 
 
 
Сообщение16.03.2009, 18:26 
Аватара пользователя
Я не понимаю, что такое "код с посыланием", ну да ладно.

В чем конкретно проблема - придумать алгоритм или запрограммировать его (и на каком языке, кстати?). Учтите, что задача наипростейшая, а такие здесь за других решать не принято.

 
 
 
 
Сообщение16.03.2009, 18:27 
Аватара пользователя
Если это Паскаль, то такого термина я там не помню...

 
 
 
 
Сообщение16.03.2009, 18:32 
ну типа в задании написано - нужно зделать програму при помощи посыланий(ну или указаний)

 
 
 
 
Сообщение16.03.2009, 18:36 
Аватара пользователя
Может работа со ссылками имеется в виду? Что-то типа "myvar^.next"? Тогда достаточно синтаксис посмореть.

 
 
 
 
Сообщение16.03.2009, 18:39 
ну типа в оглашении пишем
type
massiv=array[1..100] of integer;
....
var
a:^massiv; ).....и так само делаем вычисление в программе

 
 
 
 
Сообщение16.03.2009, 18:47 
Аватара пользователя
А, ну значит так оно и есть - работа со ссылками. Там вроде придётся использовать new для выделения памяти, dispose - для освобождения. Доступ к элементам - тоже через стрелку. Можете ориентироваться на вот этот пример:
Код:
   {Динамическое выделение памяти с использованием функций New и
    Dispose.}
    program Sample;

    type
      pntr = ^RecType;
      RecType = array[1..40] of integer;
    var
      p: pntr;
      t: integer;

    begin
      New(p);
      for t: = 1 to 40 do p^[t]: = t*2;
      for t: = 1 to 40 do Write(p^[t], ' ');
      WriteLn;
      Dispose(p);
    end.

А алгоритм поиска минимального элемента уж составите сами. Чётные и нечётные различает вроде функция odd.

 
 
 
 
Сообщение16.03.2009, 18:50 
спасибо

 
 
 
 
Сообщение16.03.2009, 19:36 
sv2311 в сообщении #195630 писал(а):
ну типа в оглашении пишем…


AlexDem в сообщении #195634 писал(а):
Код:
Dispose(p);


Оглашеннии, изыдите :).

 
 
 
 
Сообщение17.03.2009, 00:47 
program l_22;
uses crt;
var a,chet:array [1..100] of integer;
i,k,min,n:integer;
begin
clrscr;
writeln('Введите количество элементов маcсива');readln(n);
for i:=1 to n do
begin
write('a[',i,']='); read(a[i]);end;
k:=0;
for i:=1 to n do
begin
if a[i] mod 2=0
then
begin
k:=k+1;
chet[k]:=a[i];
min:=chet[1];
for i:=2 to n do
if chet[k]<min then min:=chet[k];
writeln('min=',min);
readkey;
end;end;
end.
как его переделать под эти указатели? - помогите плиз((

 
 
 
 
Сообщение17.03.2009, 13:33 
Аватара пользователя
А что осталось непонятным? Откройте учебник или лекции и посмотрите... Вместо a[i] пишете a^[i], это означает "взять из указателя a адрес и по нему взять i-тый элемент типа integer". И не забыть выделить и освободить память - это всё.

А Вашу программу я бы упростил - массив chet там не нужен. Подойдёт обычная программа поиска минимума с дополнительным условием if a[i] mod 2=0 (ну или функцией odd вместо a[i] mod 2). Только надо не забыть, что чётных чисел в массиве может и не быть.

 
 
 
 
Сообщение17.03.2009, 17:27 
спасибо,но я уже и так здал и вместе с масивом chet!

Добавлено спустя 2 минуты 54 секунды:

вот так выглядит прога,просто я думал что с указателями будет программа намного масовей,а так она простая
program l_22;
uses crt;
type massiv=array [1..100] of integer;
var a,chet:^massiv;
i,k,min,n:integer;
begin
clrscr;
writeln('Введите количество элементов маcсива');readln(n);
for i:=1 to n do
begin
write('a[',i,']='); read(a^[i]);end;
k:=0;
for i:=1 to n do
begin
if a^[i] mod 2=0
then
begin
k:=k+1;
chet^[k]:=a^[i];
write(chet^[k], ' ');
end;
end;
min:=chet^[1];
for k:=2 to n do
if chet^[k]<min then min:=chet^[k];
writeln('min=',min);
readkey;
end.

 
 
 
 
Сообщение17.03.2009, 17:32 
Аватара пользователя
На месте компьютера я бы завис...

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group