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

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

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

> 2 задачи задачи на массив и индуктивность
Black Monarh
сообщение 28.01.2006 18:15
Сообщение #1





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

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


Дорогие программисты буду с вами откровенен, я знаю что сдесь никто не будет делать за меня ничего!!
Но думаю что вы люди и поймете меня!
Я студет первого курса, думаю многие знают что 1 семестр самый сложный первая сессия и все такое!!
Меня мягко говоря выпирают, и как вы думаете почему?! ДА!! Был идиотом полнейшим!! нифига не делал думал а прокатит да не прокатила, так вот вишу я на волоске а внизу пропасть!!
У меня есть шанс остаться но сделать надо очень много... а времени почти нет..!!
Помогите мне пожалуйста спасите мою душу..
Беда вот в чем:
1. Мне нужно из данного массива (а массив мой 2 на 50, где каждая строка задает координату точки) так вот нужно убрать из этого массива одинаковые координаты т е одинаковыые строки!!


2. У меня есть последовательность чисел, нуйти длину законченного отрезка числовой последовательности, при этом свойсво отрезка с максимальным размахом значений элементов
P.S. размах - разность максимального и минимального элемента в добавок отрезок знакочередующийся
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
volvo
сообщение 28.01.2006 18:23
Сообщение #2


Гость






Цитата
нужно убрать из этого массива одинаковые координаты т е одинаковыые строки
Ну, так в чем проблема? Проходи в цикле по строкам, и для каждого элемента проверяй, не встречался ли он прежде... Если нет - все в порядке, если встречался - сдвигай все содержимое массива на 1 индекс ближе к началу, начиная с элемента, следующего за проверяемым, и уменьшай счетчик элементов массива...

Где именно проблема?
 К началу страницы 
+ Ответить 
Black Monarh
сообщение 28.01.2006 18:40
Сообщение #3





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

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


Вот как раз на словах я то все и понимаю, да надо пойтись циклом по массиву смотря если есть одинуковые строки то сдвигать .. А как это выглядит в коде не могу воспроизвести не знаю что я не понимаю вроде так элементарно(( а вот не могу и все!! жесть!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.01.2006 18:49
Сообщение #4


Гость






Ну, вот тебе пример для массива целых, хотя по-моему, я уже выкладывал на форуме нечто подобное... Подкорректируй это для своего случая.
const
max_n = 10;
arr: array[1 .. max_n] of integer =
(1, 3, 7, 3, 9, 4, 2, 2, 3, 1);

var
i, j, k, n: integer;
found: boolean;

begin
n := max_n;
i := 2;
while i <= n do begin

found := false; j := 1;

while (j < i) and (not found) do
if arr[i] = arr[j] then found := true
else inc(j);

if found then begin
for k := i + 1 to n do
arr[k - 1] := arr[k];
dec(n);
end
else inc(i)
end;

for i := 1 to n do
write(arr[i]:4);
writeln;
end.
 К началу страницы 
+ Ответить 
Black Monarh
сообщение 28.01.2006 18:53
Сообщение #5





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

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


Спасибо понятно, а на счет второй задачки никаких мыслей нет?! Потомучто я вообще не знабю индуктивность!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 29.01.2006 16:02
Сообщение #6


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Black Monarh @ 28.01.2006 18:53) *

Спасибо понятно, а на счет второй задачки никаких мыслей нет?! Потомучто я вообще не знабю индуктивность!!

Условие не совсем понятно. Уточни, насколько возможно.
И при чем тут индуктивность?..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 29.01.2006 23:15
Сообщение #7


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

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

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


Цитата
1. Мне нужно из данного массива (а массив мой 2 на 50, где каждая строка задает координату точки) так вот нужно убрать из этого массива одинаковые координаты т е одинаковыые строки!!


по моему это решается так :

uses crt;
const
m = 2;
type
TMx = array [1..50,1..m] of integer;

procedure Input(var mx : TMx; n : byte);
var
i,j : byte;
begin
writeln;
for i := 1 to n do
for j := 1 to m do begin
write('x[',i,',',j,']=');
readln(mx[i,j]);
end;
end;

procedure Print(mx : TMx; n : byte);
var
i,j : byte;
begin
writeln;
for i := 1 to n do begin
writeln;
for j := 1 to m do write(mx[i,j]:2,' ');
end;
end;

procedure Del(var mx : TMx; var n : byte);
var
i,j,k : byte;
flag,flag1 : boolean;
begin
i := 1;
while(i <= n-1) do begin
j := i + 1;
flag := true; flag1 := true;
while(j <= n) do begin
flag := true;
if (mx[i,1] = mx[j,1]) and (mx[i,2] = mx[j,2]) then begin
flag := false; flag1 := false;
for k := j to n do begin
mx[k,1] := mx[k+1,1];
mx[k,2] := mx[k+1,2];
end;{k}
dec(n);
end;{=}
if flag then inc(j);
end;{J}
if flag1 then inc(i) else begin
for k := i to n do begin
mx[k,1] := mx[k+1,1];
mx[k,2] := mx[k+1,2];
end;
dec(n);
end;
end;{I}

end;

var
a : TMx;
n : byte;

begin
clrscr;
n := 10;
Input(a,n);
Print(a,n);
Del(a,n);
Print(a,n);
readln;
end.


Цитата

n = 10

in :
1 1
2 2
3 3
1 1
4 4
2 2
5 5
6 6
1 1
4 4

out :
3 3
5 5
6 6


Извиняюсь если намудрил сильно ..


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

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

 



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