Помощь - Поиск - Пользователи - Календарь
Полная версия: Опять строки с буквами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Сосед
Народ, выручайте, завтро здавать отчет по практики... не могу зделать одну задачу... что делать я понял, а как записать не могу:3. В масив “А” зберіг список символів. Відсортувати список рядків що знаходяться у масиві “Б” використовуючи список символів з масиву “А”
Масив “А”: Б,А,Г,В,Д
Масив “Б”: АБ,АА,ГВ,ДВ,ДА,ДАА,А,БВ
Результат: БВ,А,АБ,АА,ГВ,ДА,ДВ,ДАА
Если кто не понял Укр, извиняйте, переводить впадло... Надо Масив А сравнивать с первой буквой масива Б и отсортировать.... ну результат вы видите... Огромная прозьба, не делать етого с процедурами и ф-циями, учиха не поверит что ето делал Я.
volvo
Цитата(Сосед @ 5.04.05 13:17)
Если кто не понял Укр, извиняйте, переводить впадло...
Ну, тогда извиняй... Неплохо бы понять, что делать-то нужно, потому что вот тут:
Цитата(Сосед @ 5.04.05 13:17)
Результат: БВ,А,АБ,АА,ГВ,ДА,ДВ,ДАА

элементы, выделенные красным, явно поставлены неправильно... Но если "переводить впадло", делай сам, как понимаешь...
Сосед
Ну ладно уговорил... переведу...
1. В массив “А” сохранил список символов. Отсортировать список строк что находятся в массиве “Б” используя список символов из массива “А”
Массив “А”: Б,А,Г,В,Д
Массив “Б”: АБ,АА,ГВ,ДВ,ДА,ДАА,А,БВ
Результат: БВ,А,АА,АБ,ГВ,ДА,ДВ,ДАА
Все!!!! Плззз... напишите код!!!!!!!
FreeMan
берешь первую букву из А и сравниваешь с первыми буквами из Б. если совпадают, выписываешь на листик бумаги. потом эти результаты сортируешь, фигачишь в начало нового массива. берешь след.букву, на листик, сортируешь, дописываешь в массив.
Guest
Цитата(FreeMan @ 5.04.05 16:07)
берешь первую букву из А и сравниваешь с первыми буквами из Б. если совпадают, выписываешь на листик бумаги. потом эти результаты сортируешь, фигачишь в начало нового массива. берешь след.букву, на листик, сортируешь, дописываешь в массив.

Сам алгоритм что зачем я себе представил... я не могу, почему то, ето в код записать.... там же кроме сортировки по буквам надо еще сортировка по количеству букв... (даа). Слушай... напиши код... мне срочно надо... завтро отчет здавать надо!!!
volvo
Цитата(Guest @ 5.04.05 15:18)
я не могу, почему то, ето в код записать...
А пытался?
Цитата(Guest @ 5.04.05 15:18)
там же кроме сортировки по буквам надо еще сортировка по количеству букв...
Ничего подобного... При сравнении строк 'A' и 'AA' как раз получается что 'A' < 'AA', и тебе достаточно отсортировать только по буквам
Сосед
Цитата(volvo @ 5.04.05 17:25)
А пытался?
Ничего подобного... При сравнении строк 'A' и 'AA' как раз получается что 'A' < 'AA', и тебе достаточно отсортировать только по буквам

Конечно пытался... я чего только нге делал... у меня было даже 4 цыкла... один для масива А, другой для масива Б, третий вообще искал запитую а потом только начинал сравнивать Масив А с масивом Б и то, сравнивал он от последней зяпятой и записывал ети символы в строковый масив, а потом к еще одному строковому масиву оно прибавляла предведущий масив (там где от запятой...) Короче, народ, ну выручте... я уже 2 день ломаю голову... я понимаю тут все легко... но я не могу ето записать...
volvo
Цитата(Сосед @ 5.04.05 15:32)
Конечно пытался... у меня было даже 4 цыкла...

Так приведи этот код... Может там что-нибудь незначительное исправить...
Сосед
Цитата(volvo @ 5.04.05 17:48)
Так приведи этот код... Может там что-нибудь незначительное исправить...

Вот код, ето порследние что я делал... эээ, кстате... тут есть логические ошибки... у меня уже голова болит что либо делать, вся надежна на вас... у нас уже 17:10... а мне с утра уже надо нести...
Код

Uses
   Crt;
Const
    a:string='B,A,G,V,D';
    b:String='BV,A,AA,AB,GV,DA,DB,DAA';
Var
  i,j,j2,m,n,x,k,v:Word;
  c,d:string;
Begin
    ClrScr;
    n:=Length(a);
    m:=Length(B);
    v:=m;
    For i:=1 to n do
        for j:=m downto 1 do
            if b[j]=',' then
               begin
                    x:=j;
                    k:=0;
                    for j2:=x to v do
                        begin
                             k:=k+1;
                             d[k]:=b[j2];
                        end;
                    v:=x;
                    for j2:=1 to k do
                        if a[i]=d[j2] then
                           c:=c+d;
               end;
    Writeln;
    Writeln©;
    Readln;
End.

если не впадло напишите код!!! чес слово голова болит!!!
volvo
Offtop
Цитата
чес слово голова болит!!!
У меня теперь тоже болит blink.gif
/Offtop
Сосед
Цитата(volvo @ 5.04.05 18:20)
Offtop
У меня теперь тоже болит  blink.gif
/Offtop


да, такую пургу замутил? =) ето наврено из-за того что долго сидел... =) Слушай, я конечно понимаю, ты на даруках деньги зарабатываеш... мы стобой чем то похожи, я тоже на них деньги зарабатываю... эээ... я к чему, я бы запалатил денги, но мне задача нужна завтро... а деньги до завтра я точно тебе ни как не перечислю... Пойми мое положение... напиши код... я вовек тебя не забуду... а если что... то даже помогу чем и как смогу
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.