Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.01.2012, 14:53   #1
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию Студент.разбор слова на количественные составляющие

]необходимо составить программу которая /
допустим задано слово СТУДЕНТ,нужно чтобы программа выводила сообщение такого рода/
с-1
т-2
у-1
д-1
е-1
н-1

т.е количество содержащихся букв этого слове в этом слове))кешiрыныз за тафталогию
Akcentbek вне форума
Старый 19.01.2012, 15:10   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Я сделаю это за 100 рублей на счёт мобильного телефона, вы согласны?
Кстати, какие сроки у вас?
Цитата:
кешiрыныз
А это татарский или казахский язык?
Вадим Мошев вне форума
Старый 20.01.2012, 07:47   #3
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию

Мен қазақша жаздым)))

Языки тюрков ...

Я в курсе что сдесь всем наплевать сугубо но я не могу))
Я тут пробегом зашел за советом а не расставаться с деньгами
самому бы хотелось легких денег -- хотя всем до этого как до укропа))

вот код нужен намек на то что делать )))


Код:
var

    s: string;
    c: char;
    n,len,i,q: byte;
     mas:array[1..len] of string;
begin
 writeln('Input');
 readln(s);
 begin
 for i:=1 to len do
     c:=s[i];
 end;
 i:=0;
  n:=0;
  len:=length(s);
  for i:=1 to len do
   if s[i]=c then n:=n+1;

   mas[i]:=n;
   writeln(s[i],'=',mas[i]);

readln
end.
этот код с ошибкой я туплю ))
с динамич массивом не умею обращаться



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 20.01.2012 в 08:20.
Akcentbek вне форума
Старый 20.01.2012, 08:42   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

язык программирования не указан. Поэтому рискну предположить, что речь идёт о Pascal.
в этой связи фраза "с динамич массивом не умею обращаться" бессмыслена. В TurboPascal не было динамических массивов! (разумеется, они есть в более современных компиляторах: Delphi/FreePascal и т.д.)

но в данной задаче не нужно никаких динамических массивов.
Ей можно решать разными способами.

например, завести массив от 0 до 255.
var count : array[0..255] of integer;

предварительно его обнулить:
for i:=0 to 255 do count[i] := 0;

ввести строку:
ReadLn(s);

потом пройтись по строке, наращивая счётчик каждой буквы (массив count - это массив счётчиков. причём i-й элемент массива означает, сколько раз встретилась буква с кодом i
for i:=1 to Length(S) do Inc( Count[ ord(s[i]) ] );

всё. задача решена.
достаточно вывести ненулевые счётчики:
for i:=0 to 255 do
if count[i]>0 then WriteLn('Буква ', chr( i ), ' встретилась ', count[i], ' раз.');


p.s. другой возможный алгоритм решения задачи это брать каждый символ в цикле (по I например, for i:=1 to Length(s) ), проверять, что его нет левее текущего (т.е. в диапазоне от 1 до I-1) - если есть - пропускаем, если же его ещё не было раньше, тогда во вложенном цикле считаем, сколько раз этот символ встречается правее:
Код:
  Cnt := 0;
  for j := i to Length(S) do 
     if s[i]=s[j] then Inc(Cnt);
  WriteLn(s[i],' : ', Cnt);
Serge_Bliznykov вне форума
Старый 20.01.2012, 20:33   #5
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию

Зор рахмет саған!
да это паскаль фрипаскаль
сегодня попробую пописать
Akcentbek вне форума
Старый 20.01.2012, 22:17   #6
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию

Код:

uses crt;
var
   i:integer;
   s:string;
   count : array[0..255] of integer;

begin
   clrscr;

repeat
   for i:=0 to 255 do count[i] := 0;
  writeln('Input word..');  ReadLn(s);
   for i:=1 to Length(S) do Inc( Count[ ord(s[i]) ] );
   for i:=0 to 255 do
 if count[i]>0 then WriteLn( chr( i ), ' - ', count[i]);
 if s='EXIT' then exit;
 readln;
  clrscr;
 until(s='EXIT');

 readln;
end.
все работает прсто класс!
Akcentbek вне форума
Старый 20.01.2012, 22:34   #7
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию

теперь теоритический вопрос практического характера))
возможно ли как нибудь среди двух массивов выделить массив общих элементов т.е. пересечение множеств??
Akcentbek вне форума
Старый 21.01.2012, 10:49   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я не думаю, что Вас теоретический вопрос имеет отношение к задаче по частоте использования букв в слове.

А на форуме есть правило: один вопрос - одна тема.
Создавайте новую тему и задавайте там свой вопрос. (только название темы давайте правильное - отражающее суть задачи).


p.s. а ответ на ваш вопрос: ну конечно же можно - перебирая элементы одного массива можно их искать во втором - какие нашли - те и общие!
Serge_Bliznykov вне форума
Старый 21.01.2012, 12:59   #9
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию

эта задача мне нужна для решения другой задачи :
среди чисел заданной строки таблицы наити такое,которое принадлежит наибольшемуиколичеству столбцов таблицы.
Akcentbek вне форума
Старый 21.01.2012, 13:03   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
возможно ли как нибудь среди двух массивов выделить массив общих элементов т.е. пересечение множеств??
Akcentbek, жаным . Как нефиг делать . Заводите третий массив размером под результат либо под размер наибольшего из первых двух массивов. И понесласль . А выделяете как два цикла. Суть в том что один массив берете как шаблон в котором ищутся элементы второго массива. Нашелся копируете в третий, если нет значит не судьба...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 21.01.2012 в 13:18.
Utkin вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
морфологический разбор русского слова bkyyy Помощь студентам 0 04.12.2011 20:09
Разбить число на составляющие polpot Microsoft Office Access 2 21.01.2011 11:27
Составляющие COM кабеля. ImmortalAlexSan Компьютерное железо 2 16.08.2010 18:50
Составляющие строки V@mpir Общие вопросы Delphi 12 06.10.2009 00:48