IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на указатели
nblazhko
сообщение 9.04.2008 20:14
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской

Репутация: -  0  +


Подскажите,а то я в этой теме не разобрался еще,вот задача:
type ssilka=^integer;
vector=array[1..100] of ssilka;
Считая, что все элементы вектора Х от nil ,создать консольное приложение, описывающее логическую функцию SAME(x),которая проверяет есть ли в векторе Х хотя бы две одинаковые ссылки.


Зарание спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
renesko1
сообщение 9.04.2008 21:13
Сообщение #2


поиск
****

Группа: Пользователи
Сообщений: 346
Пол: Мужской
Реальное имя: nir

Репутация: -  2  +


А можно менять значения ssilka^.integer ?


--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
nblazhko
сообщение 9.04.2008 21:18
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской

Репутация: -  0  +


Цитата(renesko1 @ 9.04.2008 22:13) *

А можно менять значения ssilka^.integer ?

Можно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
renesko1
сообщение 9.04.2008 21:26
Сообщение #4


поиск
****

Группа: Пользователи
Сообщений: 346
Пол: Мужской
Реальное имя: nir

Репутация: -  2  +


Тогда можно попробывать пройтись по массиву и при обр. к элементу присваивать ему определенное значение и если при обр. к новому элементу значение его совпадает с нашем значением то получаем ответ на вопрос.
------------
Главное перед этим все обнулить


--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
nblazhko
сообщение 9.04.2008 22:46
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской

Репутация: -  0  +


Можно сделать так но нужно это оформить ввиде функции,а как я не знаю


program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

{$R-}

Type
ssilka=integer;
Type
MyArray=Array[1..100] of ssilka;
ssilkaPtr=^MyArray;
Var
DynamicArray: ssilkaPtr;
Count,
I,J,Size: Word;
Begin

Write('Chislo elem massiva: ');
ReadLn(Count);


Size:=Count*SizeOf(ssilka);
GetMem(DynamicArray,Size);


For I:=1 to Count do DynamicArray^[I]:=random(10);

For I:=1 to Count do
Write(DynamicArray^[I]:4);
For I:=1 to Count do
For J:=1 to Count do
if DynamicArray^[I]=DynamicArray^[J] then break;
write(' da est odinakovue ssilki');


FreeMem(DynamicArray,Size);
readln;

end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 10.04.2008 9:01
Сообщение #6


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


во первых добавь randomize, во вторых циклы не верно построены, нужно вот так:

i := 1;
while i < count do begin
j := i + 1;
while (j <= count) and (DynamicArray^[i] <> DynamicArray^[j]) do
inc(j);
if j > count then
inc(i)
else begin
writeln(' Concurrence!');
break;
end;
end;


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 10.04.2008 9:54
Сообщение #7


Гость






nblazhko
А можно узнать, что общего имеет твое решение с заданием? Задание было на поиск одинаковых указателей на целое, а не на поиск в массиве целых чисел по указателю... ^integer и просто integer это все-таки разные вещи...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 3:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"