Страница 1 из 1

заменить повт. символы произведением их значений на колличество повт. (pascal)

Добавлено: 03 дек 2009, 21:06
кректив
ПАСКАЛЬ! Дана последовательность чисел. Заменить повторяющиеся символы произведением их значений на колличество повторений. Повторения исключить. Вывести полученный результат.
Пример 1 2 2 3 4 4 4 1 6 4 результат: 2 4 3 16 6
Сделал, чтобы программа считала символы, но вот как умножить число в последовательности на колличества повторов, ума не приложу :(
очень прошу, помогите.

Re: заменить повт. символы произведением их значений на колличество повт. (pascal)

Добавлено: 04 дек 2009, 02:38
dr.Jekill
кректив писал(а):Сделал, чтобы программа считала символы :( ...
У Вас есть количество повторов символа
кректив писал(а):но вот как умножить число в последовательности на колличества повторов, ума не приложу :(
Думаю наиболее логично будет взять переменую, хранящую число и присвоить ей значение "число на кол. повторов". :) Пусть n_k - кол-во повторений числа k в последовательности, тогда

Код: Выделить всё

k:=k*n_k;
Выкладывайте что у Вас есть.

Re: строка: зам. повторяющиеся символы произведением их значений на колличество повт.

Добавлено: 04 дек 2009, 18:15
кректив

Код: Выделить всё

program Project1;
uses crt;
var
 s: string[20];
 i, k, len, j: integer;
begin
  clrscr;
  write('Stroka: ');
  readln(s);
  len:=length(s);
  for i:=1 to len do
   write(s[i]:4);
  writeln;
  for i:=1 to len do
  begin
   k:=0;
   for j:=1 to len do
    if s[i]=s[j] then
     k:=k+1;
   write(k:4);
  end;
  writeln;
  readln;
вот что есть , это кстати тоже на этом форуме нашёл :) помогите пожалуйста, это очень важная работа.

Re: заменить повт. символы произведением их значений на колличество повт. (pascal)

Добавлено: 05 дек 2009, 18:49
dr.Jekill
кректив писал(а):как умножить число в последовательности на колличества повторов, ума не приложу :(
Лучше подумайте над исключением повторяющихся элементов.

Re: строка: зам. повторяющиеся символы произведением их значений на колличество повт.

Добавлено: 06 дек 2009, 16:19
кректив
ну повторение, я думаю оператором del получтся убрать. но я даже перемножить не могу(( помогите кто нибудь(