Программа когда вводишь число и нужно заменить его

Здравствуйте проблема такая, никак не пойму.
Вот задание:
Вам необходимо в строке, полученной со стандартного ввода найти все цифры и заменить их на букву латинского алфавита, располагающуюся по данному индексу (все символы в строке вводятся в нижнем регистре).
Примечание: две цифры не могут располагаться рядом. Те если у вас есть строка «19у» это значит что у вас одна цифра 19, а не 1 и 9. Как результат вы должны получить «sy»
Sample Input:
Hel12o 16e15ple
Sample Output:
Hello people

latin=»abcdefghijklmnopqrstuvwxyz» text = input(«Введите строку: «) i = 0 s = «» while i < len(text): a = text[i] while «0»

По заданию фразу «Hel12o 16e15ple» выводит так «Hello pe1eple» — правильно меняет буквы из алфавита до пробела, но после пробела почему-то не правильно.
Если же к примеру ввести фразу «12ghj3jhh23» (просто произвольная) — то здесь выдает «lghjcjhhbc» — последние две цифры не воспринимает как число 23 и выводит по буквам «b» и «c».

Что делать, если в ячейке дата, а вы хотите число [FocusExcel]


Если же к примеру поменять 23 на 24: «12ghj3jhh24» — то тут выводит всё как положено «lghjcjhhx» — все правильно заменяет.
В чем может быть проблема? почему не приязнь у программы к числу 23 и пробелам.
Можно как-то подправить именно этот код, без «наворотов», а то я только учусь и еще не вcе понимаю.

  • Вопрос задан более года назад
  • 3616 просмотров
Читайте также:
Самая простая программа для обрезки видео для Андроид

Источник: qna.habr.com

Заменить цифры в тексте на соответствующие им слова «Один», «Два» и т.д — C#

Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 словами «ноль», «один», «девять», начиная каждое предложение с новой строки. Есть код для С, нужно переделать под С#, пробовала с помощью Replace.

#include int main(void) < char c; FILE *fin=fopen(«input.txt», «r»); while (!feof(fin)) < fscanf(fin, «%c», if (c==’0′) printf(«ноль»); else if (c==’1′) printf(«один»); else if (c==’2′) printf(«два»); else if (c==’3′) printf(«три»); else if (c==’4′) printf(«четыре»); else if (c==’5′) printf(«пять»); else if (c==’6′) printf(«шесть»); else if (c==’7′) printf(«семь»); else if (c==’8′) printf(«восемь»); else if (c==’9′) printf(«девять»); else if (c==’.’) < printf(«.n»); fscanf(fin, «%c», >else if (c==’?’) < printf(«?n»); fscanf(fin, «%c», >else if (c==’!’) < printf(«!n»); fscanf(fin, «%c», >else printf («%c», c); > return 0; >

Моя попытка, не знаю как сделать, чтоб замена сразу всех цифр была и чтоб с новой строки каждая цифра

Исправление чисел, превратившихся в даты

Код к задаче: «Заменить цифры в тексте на соответствующие им слова «Один», «Два» и т.д»

Листинг программы

string[] digits = < «ноль», «один», «два», «три», «четыре», «пять», «шесть», «семь», «восемь», «девять» >; foreach (var ch in File.ReadAllText(«file.txt»)) Console.WriteLine(digits[(int)char.GetNumericValue(ch)]);

Источник: studassistent.ru

Как заменить цифру в числе

Основы программирования 2.0

Задача 2.25
Дано натуральное число X. Заменить в нём все цифры 3 на цифру 5. Вывести на экран изменённое число или сообщение НЕТ, если изменений не было.

Если вы подзабыли, что такое натуральное число, то читайте здесь.

Похожую задачу мы решали здесь. Точнее, она была не очень похожа — там надо было определить, оканчивается ли число на 3. Можно пойти по тому же пути, чтобы проверить все цифры в числе. Но это будет не очень понятно и удобно.

Читайте также:
Как добавить программу в исключения антивируса nod32

Поэтому сегодня мы пойдём другим путём — преобразуем число в строку, а затем будем в цикле перебирать все символы в строке, заменяя 3 на 5. После можно преобразовать строку обратно в число (впрочем, это делать необязательно, так как нам не нужно выполнять никаких действий с числом, кроме вывода на экран, а на экран можно вывести и строку).

Для преобразования числа в строку в Паскале надо подключить модуль SysUtils, а в С++ — файл .

ВАЖНО!
Чтобы не усложнять код, в программе не выполняются проверки ввода. Если будет введено слишком большое число, то преобразование его в строку будет невозможно и программа завершится аварийно.

Решение задачи 2.25 на Паскале

program mytask; uses SysUtils; //. Подключить этот модуль //**************************************************************** // КОНСТАНТЫ //**************************************************************** const OLD_NUM = ‘3’; //Цифра, которую надо заменить NEW_NUM = ‘5’; //Цифра, которой надо заменить цифру OLD_NUM //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** var Change : boolean = FALSE; i : WORD; Num : DWORD; str : string; SNum : string = »; //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** begin Write(‘Number = ‘); ReadLn(Num); str := IntToStr(Num); for i := 1 to Length(str) do if str[i] = OLD_NUM then begin SNum := SNum + NEW_NUM; Change := TRUE; end else SNum := SNum + str[i]; if Change then WriteLn(‘New Number = ‘, SNum) else WriteLn(‘The number has not changed’); WriteLn(‘The end. Press ENTER. ‘); ReadLn; end.
Решение задачи 2.25 на С++
#include #include #include //Подключить этот файл using namespace std; //**************************************************************** // КОНСТАНТЫ //**************************************************************** const char OLD_NUM = ‘3’; //Цифра, которую надо заменить const char NEW_NUM = ‘5’; //Цифра, которой надо заменить цифру OLD_NUM //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** bool Change = false; unsigned short int i; unsigned int Num; ostringstream Str; ostringstream SNum; string sss; //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** int main(int argc, char *argv[])

Читайте также:
Как поставить программу меркурий

Источник: info-master.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru