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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2009, 21:55   #1
Fylhtq
Пользователь
 
Регистрация: 11.11.2008
Сообщений: 32
Печаль Надо срочно написать программу

Помогите написать програмаму)))


Утроить все цифры, стоящие перед первой буквой текста
AndreiKA_PC
Fylhtq вне форума Ответить с цитированием
Старый 11.05.2009, 22:51   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Код:
var
	i:integer;
	str:string;
begin
	readln(str); 
	i := 1;
	while (i < length(str)) do begin
		if (str[i] in ['0'..'9']) and ((str[i+1] in ['A'..'Z']) or (str[i+1] in ['a'..'z'])) then begin
			insert(str[i]+str[i],str,i);
			i := i+3;
		end
		else
			inc(i);
	end;
	writeln(str);
	readln;
end.
а.. эт не то.. задание неправильно прочитал.. это утраивает цифры стоящие перед буквами.. ну тогда еще проще..

Код:
var
	i:integer;
	str:string;
begin
	readln(str); 
	i := 1;
	while (i < length(str)) do begin
		if (str[i] in ['0'..'9']) then begin
			insert(str[i]+str[i],str,i);
			i := i+3;
		end
		else
			break;
	end;
	writeln(str);
	readln;
end.
или нужно утроить всю последовательность? тогда так
Код:
var
	i:integer;
	str,tmp:string;
begin
	readln(str); 
	i := 1;
	tmp := '';
	while (i < length(str)) do begin
		if (str[i] in ['0'..'9']) then begin
			tmp := tmp + str[i];
			inc(i);
		end
		else
			break;
	end;
	insert(tmp+tmp,str,1);
	writeln(str);
	readln;
end.
Uguu~

Последний раз редактировалось __STDC__; 11.05.2009 в 22:57.
__STDC__ вне форума Ответить с цитированием
Старый 11.05.2009, 23:01   #3
Gongled
Пользователь
 
Регистрация: 17.02.2009
Сообщений: 78
По умолчанию

Хм, а я подумал, из ряда
Код:
789abc456
получить
Код:
212427abc456
Fylhtq, что значит «утроить»?
Пишу глупости.
Gongled вне форума Ответить с цитированием
Старый 11.05.2009, 23:08   #4
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

Количесто букв в тексте?
Или что ???
Doholyan вне форума Ответить с цитированием
Старый 11.05.2009, 23:11   #5
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Хм, а я подумал, из ряда
789abc456
получить
212427abc456
тогда так
Код:
var
	i,num:integer;
	s,tmp:string;
begin
	readln(s); 
	i := 1;
	tmp := '';
	while (i < length(s)) do begin
		if (s[i] in ['0'..'9']) then begin
			tmp := tmp + s[i];
			inc(i);
		end
		else
			break;
	end;
	delete(s,1,length(tmp));
	val(tmp,num);
	str(3*num,tmp);
	insert(tmp,s,1);
	writeln(s);
	readln;
end.
какие еще варианты будут?
***
хотя.. как это ты так утроил что из 789 получил 212427? Оо ааа.. каждую цифру утроить..
блин, я задолбался переделывать) там несложно переделать под утроение каждой цифры.. мне лень)
Uguu~

Последний раз редактировалось __STDC__; 11.05.2009 в 23:18.
__STDC__ вне форума Ответить с цитированием
Старый 11.05.2009, 23:18   #6
Fylhtq
Пользователь
 
Регистрация: 11.11.2008
Сообщений: 32
По умолчанию

утроить значит передние цифры в куб возвести
AndreiKA_PC
Fylhtq вне форума Ответить с цитированием
Старый 11.05.2009, 23:18   #7
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

жееесть) никто не угадал

каждую цифру в куб? или все число?
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 11.05.2009, 23:20   #8
Fylhtq
Пользователь
 
Регистрация: 11.11.2008
Сообщений: 32
По умолчанию

вот это хз , блин что за задание
AndreiKA_PC
Fylhtq вне форума Ответить с цитированием
Старый 11.05.2009, 23:26   #9
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

если кубы каждой цифры - как-то так.. лень думать уже
Код:
var
	i,num:integer;
	s,tmp1,tmp2:string;
begin
	readln(s); 
	i := 1;
	tmp1 := ''; tmp2 := '';
	while (i < length(s)) do begin
		if (s[i] in ['0'..'9']) then begin
			val(s[i],num);
			num := num*num*num;
			str(num,tmp1);
			tmp2 := tmp2 + tmp1;
			inc(i);
		end
		else
			break;
	end;
	delete(s,1,i-1);
	insert(tmp2,s,1);
	writeln(s);
	readln;
end.
вообще утроить обычно значит умножить на 3
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 11.05.2009, 23:28   #10
Fylhtq
Пользователь
 
Регистрация: 11.11.2008
Сообщений: 32
По умолчанию

спасибо за все
AndreiKA_PC
Fylhtq вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить из файла абзац с номером К(абзацы отделяются друг от друга одной или несколькими пустыми строками Ragnaradi Помощь студентам 21 01.05.2011 12:02
надо написать программу iptash Фриланс 8 11.03.2009 19:39
Можете подправить программу??? Срочно надо Fylhtq Паскаль, Turbo Pascal, PascalABC.NET 0 06.01.2009 10:56