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

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
кректив
Сообщения: 3
Зарегистрирован: 03 дек 2009, 20:52

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

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

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

k:=k*n_k;
Выкладывайте что у Вас есть.
Нет религии выше истины
кректив
Сообщения: 3
Зарегистрирован: 03 дек 2009, 20:52

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

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;
вот что есть , это кстати тоже на этом форуме нашёл :) помогите пожалуйста, это очень важная работа.
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

кректив писал(а):как умножить число в последовательности на колличества повторов, ума не приложу :(
Лучше подумайте над исключением повторяющихся элементов.
Нет религии выше истины
кректив
Сообщения: 3
Зарегистрирован: 03 дек 2009, 20:52

ну повторение, я думаю оператором del получтся убрать. но я даже перемножить не могу(( помогите кто нибудь(
Ответить