Помогите пожалуста решить задачу.Через неделю сдавать надо, а я бум бум в программировании.Хотя бы намекните с чего начать,а то я совсем расклеился отчислять собираются. Даны натуральное число N и две последовательности A1, A2, …, AN и B1, B2, …, BN. Определить, верно ли, что эти последовательности отличаются только порядком следования элементов.
Федосеев Павел
18.12.2013 3:47
1. Убедись, что при поэлементном сранении массиов хоть одна пара неодинакова. 2. Отсортируй каждую последовательность. 3. Сравни поэлементно две отсортированные последоательности - они должны быть одинаковы, и тогда пиши на экран слово "верно". На этом форуме, да и на других форумах есть FAQ, в котором присутствуют куски кода по сортировке, пояснения работы с массивами.
Денис домосед+
18.12.2013 22:13
а как сравнивать, у меня в этом самый главный вопрос.
Федосеев Павел
18.12.2013 22:39
А покажи, как ты организовал типы, какие имена у переменных. А то на пальцах элементы массиов не сравнивают.
Или ты не знаешь оператор сравнения и поэтому покинешь место учёбы?
Денис домосед+
19.12.2013 3:22
понимаешь Павел, учусь на машиностроении, а паскаль вижу в глаза в первые в жизни поэтому трудновато,щас скину что я тут накавырял
Добавлено через 16 мин.
uses crt;
const
n=10;
var
A:array[1..n] of integer;
B:array[1..n] of integer;
i:integer;
begin
randomize;
for i:=1to n dobegin
A[i]:=random(9)+1;
write(A[i],' ');
end;
writeln();
for i:=1to n dobegin
B[i]:=random(9)+1;
write(B[i],' ');
end;
readln;
end.
ну вот что то накавырял
Федосеев Павел
19.12.2013 10:58
Пользуемся кнопками CODE и # в форме ответа для обрамления программы. И ещё форматтерами кода для повышения читабельности (см. здесь) - рекомендую JCF.
program Lab;
uses
crt;
const
n = 10;
var
A: array[1..n] of integer;
B: array[1..n] of integer;
i: integer;
begin{--------------------------------------
заполнение массивов
--------------------------------------}
randomize;
for i := 1to n dobegin
A[i] := random(9) + 1;
Write(A[i], ' ');
end;
WriteLn();
for i := 1to n dobegin
B[i] := random(9) + 1;
Write(B[i], ' ');
end;
readln;
{--------------------------------------
убедимся, что исходные массивы различны
--------------------------------------}
bDifferent:=false;
for i:=1to n doif A[i]<>B[i] thenbegin
bDifferent:=true;
break;
end;
ifnot bDifferent thenbegin
writeln('Не верно. Обе последовательности идентичны.');
halt;
end;
{--------------------------------------
сортируем обе последовательности
--------------------------------------}
Sort(A);
Sort(B);
{--------------------------------------
проверяем отсортированные последовательности на идентичность
--------------------------------------}
................................
if идентичны then
writeln('Верно. Последовательности отличаются только порядком следования элементов.')
else
writeln('Не верно. Обе последовательности абсолютно различны.');
end.
Сортировку или сам организуй или поищи в FAQ или вообще в интернете.
Основы программирования пригодятся не только в паскале, но и при расчётах в математических пакетах MathCAD, Mathlab, Octvia, SciLab, Wolfram Mathematica.
Денис домосед+
19.12.2013 21:39
т.е. на месте Sort(A); Sort(B); пишу код на сортировку, а вот потом а[i]=b[i] так?и еще какой вид сортировки посоветуешь?
Федосеев Павел
19.12.2013 21:46
Цитата
т.е. на месте Sort(A); Sort(B); пишу код на сортировку,
Нет. Оформляешь процедурой, как и в примерах сортировки. А потом дважды (для A и для B) вызываешь.
Цитата
и еще какой вид поиска посоветуешь?
Не понял про поиск.
Денис домосед+
19.12.2013 21:50
не поиск а сортировку я перепутал))
Федосеев Павел
20.12.2013 9:39
Если вы изучали какие-нибудь - выбирай на свой вкус. Иначе - сделай хоть наивную сортировку, а для себя ознакомься с теорией алгоритмов сортировки. Потому, что без долгого объяснения - все алгоритмы выглядят, как заклинания. Можешь начать с "http://ru.wikipedia.org/wiki/Алгоритм_сортировки", продолжить "http://algolist.manual.ru/sort/", "http://rosettacode.org/wiki/Category:Programming_Tasks"
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.