На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Работа с массивом символов , (переименовано)
    проблемма такова надо написать на эту задачку код на паскале, кто мог бы помоч?

    вот сама задачка

    Дан массив символов. Надо установить есть ли больше слов составленных из двух букв или из трёх

    кто посодействует и поможет тому спасибо огромное ;)
      Тебе именно через масив надо? Или через строки можно?
        xpoint
        Начни отсюда
        Задачи по строкам
          Barrax
          хмм ну попробуй и через строку написать может подойдет ;)

          Команданте Оззя - лучше помог бы с составлением программы, на моей теме было написано срочно, только кто то тут переделал и убрал
          ну тому спасибо что иак сделал конечно :rolleyes:

          Добавлено
          и по твоей ссылке нету на мою тему исходника
            Цитата xpoint @
            Команданте Оззя - лучше помог бы с составлением программы, на моей теме было написано срочно,

            Помочь - означает, что ты уже пытался что-то делать. У тебя не получилось.
            Поэтому покажи свои попытки.

            Цитата
            только кто то тут переделал и убрал

            Модератор, конечно.

            Цитата
            и по твоей ссылке нету на мою тему исходника

            Там есть начало твоей работы - разбить исходный массив символов (строку) на составляющие (слова).
            После того, как ты разобъешь на слова, вычисляешь длину каждого их из этих слов (Length), и ведешь подсчет 3-х и 2-х символьных.
            Сообщение отредактировано: Команданте Оззя -
              вот то что я имею на данный момент
              ExpandedWrap disabled
                Program Darbas2;
                Uses Crt;
                LABEL 10;
                Var s,n,p,max,k:integer;{i,j,il,il2,ij:integer;}
                    masyvas:string;
                    {zod:string;}
                Begin
                ClrScr;
                {il:=0;}
                WriteLn('Введите массив символо'); ReadLn(masyvas);
                s:=0;
                n:=length(masyvas); p:=pos(' ',masyvas); max:=p-1;
                10:DELETE(masyvas,1,p); n:=length(masyvas); s:=s+p;
                 
                if s<n then begin
                p:=pos(' ',masyvas);
                WriteLn;
                 
                if p-1>max then max:=p-1;
                begin
                k:=k+1; goto 10 end;
                write(k,max);
                end
                else
                write(k,' ',max);
                 
                {WriteLn(Length(masyvas));
                 
                for i:=1 to Length(masyvas) do
                if (masyvas[i]=' ') then il:=il+1;
                 
                WriteLn;
                WriteLn(il);
                for j:=1 to i do
                if (masyvas[i]>'2') then
                Write(masyvas[j]);}
                {if (masyvas[i] <> ' ') then if (Length(masyvas[i])>2) then Write(masyvas[j]);}
                 
                {for i:=1 to Length(masyvas)-1 do
                if (masyvas[i]=' ') and (masyvas[i-1]<>' ') then il2:=il2+1;
                if (masyvas[1]=' ') then il2:=Length(masyvas[i]);
                WriteLn(il2);}
                ReadLn
                End.


              может я не на правильном пути :unsure:

              Добавлено
              да кстати этот массив слов как бы ввожу с клавиатуры, тем самым проверяю только одну строку до нажатия enter
                ExpandedWrap disabled
                  var
                    i,j,n2,n3:Integer;
                    s: string;
                  begin
                  {  readln(s);}
                     s:='22 333 22 4444 333';
                     i:=1;
                     j:=1;
                     n2:=0;
                     n3:=0;
                     while i<=Length(s) do
                       begin
                         j:=0;
                         while (s[i]<>' ') ) do
                           begin
                             j:=j+1;
                             i:=i+1;
                           end;
                         if j=2 then
                           n2:=n2+1;
                         if j=3 then
                           n3:=n3+1;
                         i:=i+1;
                       end;
                    Writeln(n2,n3);
                    readln;
                  end.


                Глюк - последнюю '333' не считает. Сам исправишь?
                Сообщение отредактировано: Команданте Оззя -
                  hmm probuju no ne polucajetsia ostajotsia gliuk s 333, mozet probel dobavit v konce etogo 333, kstati sdes u tebia while (s[i]<>' ') ) do odin znak ) kak by ne nuzen( ne rovnoje kol-vo ()
                    Да, там стояла 2-я проверка. Забыл удалить ).
                      problema reshena po ideje prover v etoj stroke
                      while (s[i]<>' ') ) do
                      meniajem na
                      while (s[i]<>' ') and( i<=Length(s)) do :unsure:
                        xpoint
                        ;)
                          nu nemnogo znacit i ja razbirajus v programmirovaniji tolko pravelno poka cto ne mogu sformulirovat zadacku na pascale spasibo tebe za pomosh!!!!!!! ;) ;) ;) ;) ;) ;)
                            xpoint, у тебя кнопка "Translit" что, не отображается? Тебе удобно читать твои сообщения? Давай я буду писать так, как МНЕ удобно? А ты будешь видеть только квадратики...

                            (кстати, в следующий раз, чтоб больше не было нареканий типа
                            Цитата xpoint @
                            на моей теме было написано срочно, только кто то тут переделал и убрал
                            - тема, нарушающая Правила, сразу полетит в мусорку. Я понятно излагаю?)
                              ну извени если не так выразился, насчёт транслита я так привык писать по этому так и написал, вроде понятно пишу :unsure:

                              в следующий раз буду писать русскими буквами ;)
                                народ помогите по этой задачке сделать с type masyvas=array[1..100] of char;
                                пишу for i:=1 to 10 do ReadLn(s[i]);
                                как иправить эту задачку надо через array а не через string когда пишу в массив он выходит за количество массива или что-то в этом роде
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0938 ]   [ 15 queries used ]   [ Generated: 25.04.24, 17:20 GMT ]