Замена слов в строке - C (СИ)

  1. как сделать замену слов в строке? всё должен вводить пользователь и строку и слова с какого на какое заменить. можно кодом пожалуйста


textual

Код к задаче: «Замена слов в строке - C (СИ)»

strcpy(mas[i], tmp);

СДЕЛАЙТЕ РЕПОСТ

8   голосов, оценка 3.750 из 5



Похожие ответы
  1. I need help,guys Нужно написать программу, которая выделяет из строки заданное количество слов, начиная со слова с заданным номером. Строка, количество слов, номер первого слова передаются в функцию в качестве параметров. При реализации функции запрещается пользоваться функциями стандартной библиотеки языка C. Под термином «слово» понимается любая последовательность символов, ограниченная любым количеством пробелов и/или символом начала/конца строки. С меня большущее спасибо.

  1. В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение

  1. Приветствую, ув. программисты, помогите пожалуйста с программкой. Задание: Разработать программу обработки строки символов в соответствии с заданным вариантом(Найти самое короткое слово). Считать, что строка оканчивается точкой, слова разделены пробелами. В программе предусмотреть ввод и вывод исходных данных и результатов

  1. Найти сумму компонент вектора X, удовлетворяющих условию 2

  1. Решить эту задачу используя простейшие структуры данных Определить количество слов, у которых первый и последний симво-лы совпадают между собой.

  1. Всем привет. Нужно создать диаграмму количества слов в предложениях на си. Пользователь вводит несколько предложений, а программа потом выводит диаграмму количества слов в предложениях. Помогите, пожалуйста, понять, как решить эту задачу? Не могу разобраться, как вывести на экран несколько разных по высоте столбиков подряд. Нашёл вот такую прогу, которая решает задачу, но не могу понять как всё-таки она выводит символы, чтобы получалась вертикальная диаграмма?C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 #include #include #include   #define IN 1 #define OUT 0   int main() {     setlocale(LC_ALL, "rus");       int kod = 1;     int i, k, c, nw, state;     int diagramma[20], np, maxw;           do {         state = OUT;     nw = 0; // кол-во слов     np = 0; // кол-во предл.     maxw = 0; // максимальное кол-во слов       for (i = 0; i<20; i++)         diagramma[i] = 0;         printf("Напишите предложения, обязательно оканчивающиеся на знаки: '.' '!' '?' (Окончите комбинацией клавиш Ctrl+Z)\n");           while ((c = getchar()) != EOF)         {             if (c == '.' || c == '...' || c == '!' || c == '?')                 np++;             if (c == ' ' || c == '\n' || c == '\t')             {                 state = OUT;             }             else if (state == OUT)             {                 state = IN;                 diagramma[np]++;                 if (diagramma[np] > maxw)                     maxw = diagramma[np];                 nw++; // слова             }         }         if (np == 0) np = 1;         i = 0;         printf("\nДиаграмма количества слов в предложениях:\n");         for (i = maxw; i>0; i--) // строки         {             for (k = 0; k <= np; k++) // колво предложений             {                 if (diagramma[k] == i)                 {                     printf(" *", diagramma[k]);                     diagramma[k]--;                 }                 else { printf("  "); }             }             printf("\n");         }         printf("Хочешь еще? 0 - да, 1 - нет \n");         scanf("%d", &kod);     } while (kod == 0);       return 0; }В этой проге не понимаю, например, что такое state, что такое diagramma и ещё кое-что. Объясните, пожалуйста, кому не сложно. Спасибо.

  1. Собственно задание:Упражнение 1.13. Напишите программу, печатающую гистограммы длин вводимых слов. Гистограмму легко рисовать горизонтальными полосами. Рисование вертикальными полосами - более трудная задача.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #include #include #define IN 1 #define OUT 0 main () {     int c, i, length, state, max, l;     int wordl[15];     state = OUT;     l = 0;     max = 0;     for (i = 0; i < 15; ++i)         wordl[i] = 0;     while ((c=getchar()) != EOF)         if (isalpha(c)){             ++length;             state = IN;         }         else if (state = IN) {             state = OUT;             ++wordl[length];             if (max < length)                 max = length;         }     for (i = 0; i < max; ++i)         printf("%4d", i);     for (i = 0; i < 15; ++i) {         printf ("%d", i);         while (l <= wordl[i]*4) {             ++l;             printf("#");         }         } }Мутительное начало для меня. Помогите разобраться. Вылетает в segmentation fault.

  1. Помогите пожалуйста составить программу. Которая переписывает фразу, меняя первые и последние буквы слов на заглавные.

  1. Доброго времени суток! Задача: написать программу, которая печатает содержимое своего ввода, помещая по одному слову на строке. Написал такой вариант:C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include main() {   int c, p = 0;   char n = '\n';   while ( (c = getchar()) != EOF)   {     if ((c == '\t' || c == ' ') && ( p == 0)) /* печатаем \n только если счетчик на нуле*/     {            p++;        putchar(n);     }             else       {         putchar(c); /* введен не пробел и не табуляция - обнуляем p */         p = 0;        }                  }     return 0; }Условие в if для тех случаев, когда пробелов или табуляций несколько подряд. Однако, работает только если пробелов 1 или 2 (подряд). Помогите разобраться!

  1. Дан текст, содержит от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее одного пробела. Написать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: 1) перенести первую букву в конец слова; 2) перенести последнюю букву в начало слова.