Заменить в строке обозначение символа с заданным кодом на сам символ - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста... Срочно надо лабу сдать. Заменить в строке принятое в Си обозначение символа с заданным кодом (например, \101) на сам символ (в данном случае - А)

Решение задачи: «Заменить в строке обозначение символа с заданным кодом на сам символ»

textual
Листинг программы
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
void main()
{  int j=0;
    char a;
   char str[50],str1[50],c[10]="0123456789";
   byte x;
    cout<<"Vvedi stroku ";
   cin>>str;
   for(int k=0;k<strlen(str);k++)
   {
   if(str[k]=='/')
     {int r=0;
      while(strchr(c,str[k+1])!=NULL) { r=r*10+str[k+1]-48;k++;}
   a=r;
    x=a;
   str1[j]=x;j++; k++;
     }
   str1[j]=str[k];j++;
   }
  cout<<"Vyvod stroki "<<str1;
  getch();
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с консолью и вводом-выводом данных.
  2. Объявление переменных:
    • j - счетчик для заполнения массива str1.
    • a - временная переменная для хранения числового значения символа.
    • str - строка, в которой нужно заменить обозначение символа на сам символ.
    • str1 - массив, в который будет записываться измененная строка.
    • c - строка с обозначениями символов и их числовыми значениями.
    • x - переменная для хранения байтового значения символа.
  3. Ввод строки с помощью cin и вывод сообщения об этом.
  4. Проверка каждого символа в строке на равенство обозначению символа '/'. Если это так, то начинается процесс замены.
  5. Внутри цикла, пока не будет найдено следующее вхождение обозначения символа, выполняется следующее:
    • Переменная r инициализируется как 0. Она будет использоваться для хранения числового значения символа.
    • С помощью функции strchr и цикла while ищется следующее вхождение обозначения символа в строке c.
    • Когда strchr возвращает не NULL, это означает, что было найдено вхождение обозначения символа.
    • Числовое значение символа str[k+1] добавляется к r, а затем k увеличивается на 1, чтобы перейти к следующему символу в строке.
    • Значение r присваивается переменной a, а затем x присваивается a, чтобы получить байтовое значение символа.
    • Символ x записывается в массив str1 с помощью индекса j, который увеличивается на 1 после каждой записи.
  6. Если символ не является обозначением символа, он просто записывается в массив str1 с помощью индекса j, который увеличивается на 1 после каждой записи.
  7. Вывод измененной строки с помощью cout.
  8. Вызов функции getch для приостановки выполнения программы до тех пор, пока пользователь не нажмет клавишу.

ИИ поможет Вам:


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

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы