На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS

Дорогие друзья! Поздравляем вас с Новым 2025 годом!

Всем удачи, успеха и благополучия!

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


    ---1---

    Заводим переменную - счетчик.
    В начале его обнулим.
    Пройдемся циклом For по всей строке.
    В теле цикла.
    Кок только символ строки - нам нужный, инкриментим наш счетчик.


    ---2---

    Заводим массив
    m :Array[#0..#255] Of Byte;
    Занимаемся его обнуляцией.
    Делаем так:
    For i := 1 To Length(s) Do
    Inc(m[s[i]]); {инкрементит соответствующий индекс}
    Количество нужных символов можно узнать в массиве.


    ---3---
    Когда я его придумал, мне стало страшно... за себя.

    Заводим переменную, также,как в первом способе.
    Осуществляем побуквенный ввод строки с клавы (каким-нибудь циклом и ReadKey'м).
    Как только встречается нужный символ, инкриментим счетчик.


    ---4---
    Еще страшнее.

    Относится к способу 3 также, как способ 2 к способу 1.
    Т.е. заводим массив и вводим с клавы.


    Примечание.
    Два последних способа полный маразм, т.к. можно было не вводить с клавы, а читать из файла huh.gif

    П.С.
    За то время, пока писАл это, меня успели выкинуть из И-нета, повисла винда, хорошо еще, что не запал Reset.
      Лучше бы нужное что-нибудь сделал. Давай серьёзно. Я думал, ты тут и вправду распишешь от и до, как считается количество вхождений определённой(ых) букв(ы) в строку. Если делать нечего, можешь заняться этим %))
        ????
        • Непонятная формулировка задачи: Что надо подсчитать? Cколько раз данный символ встречаеться в строке?
        • Где примеры к 1,2,4 способам?
        • Что значит инкрементим? (не все знают об inc)
          Примеры:
          №1
          {Посчитаем количество заглавных и обычных русских букв в строке}
          program Sposob1;
          var s:string;
              i,br,mr:byte; {br-большие русские mr-малые русские буквы}
              {i-счетчик}
          begin
               writeln('Введите строку');
               readln(s);                 {Вводим строку}
               for i:= 1 to length(s) do
               begin
                    if s[i]in['А'..'Я']then inc(br); {если встретилась большая буква
                                                      увеличиваем  счетчик  br  на 1
                                                      inc(br)=br:=br+1}
                    if s[i]in['а'..'п','р'..'я']then inc(mr);{Аналогично, но с mr}
               end;
               writeln('Количество заглавных русских букв ',br);
               writeln('Количество малых русских букв ',mr);
               readln;
          end.


          №2
          program Sposob2;
          var s:string;
              i:integer;
              m:array[#0..#255]of byte;
          begin
               fillchar(m,SizeOf(m),0);   {Обнуляем массив}
               writeln('Введите строку');
               readln(s);                 {Вводим строку}
               for i:=1 to length(s) do inc(m[s[i]]); {увеличиваем на 1 соответствующий индекс}
               {Результат-количество символов в массиве}
               {Например m['М']-количество заглавных М во введеной строке}
          end.


          Ps если 3 и 4 «маразм», вопрос зачем писал?
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0186 ]   [ 15 queries used ]   [ Generated: 19.01.25, 13:12 GMT ]