C/C++

Программирование на языке Си

Помогите выполнить задание на языке Си
"Ввести предложение и заменить все имена Name на Name1 и наоборот"
 #include  
#include

int main() {
char sentence[100];
printf("Введите предложение: ");
fgets(sentence, 100, stdin);

int len = strlen(sentence);

for (int i = 0; i < len; i++) {
if (sentence[i] == 'N' && sentence[i + 1] == 'a' && sentence[i + 2] == 'm' && sentence[i + 3] == 'e') {
if (sentence[i + 4] == '1') {
sentence[i + 4] = ' ';
} else {
sentence[i + 4] = '1';
}
i += 3;
} else if (sentence[i] == 'N' && sentence[i + 1] == 'a' && sentence[i + 2] == 'm' && sentence[i + 3] == 'e' && sentence[i + 4] == '1') {
sentence[i + 4] = ' ';
i += 3;
}
}

printf("Предложение после замены:\n%s", sentence);

return 0;
}
**_Aziken4Ik_** ***kazax***
**_Aziken4Ik_** ***kazax***
488
Лучший ответ
**_Aziken4Ik_** ***kazax*** В этом примере мы используем массив символов sentence, чтобы хранить введенное предложение. Функция fgets() используется для считывания входных данных из консоли. Мы также используем функцию strlen() для определения длины предложения.

Затем мы используем цикл for для перебора каждого символа в предложении. Если мы обнаружим строку "Name" или "Name1", мы заменяем ее на "Name1" или "Name" соответственно. Мы делаем это, проверяя каждый символ в этой подстроке, чтобы убедиться, что это действительно строка "Name" или "Name1".

Наконец, мы выводим измененное предложение с помощью функции printf().
Игорь Кателло Спасибо!!!
 #include  
#include
#include

void input(char* str, int limit)
{
char ch;
while ((ch = getchar()) != ' ' && ch != '\n')
{
if (--limit == 0) break;
*str++ = ch;
}
}

int main()
{
char word[25]{}, word1[25]{}, ch, tmp[25]{};
char* tmp_p = tmp;
puts("Enter word and word1");
input(word, 25);
input(word1, 25);
puts("Enter your sting");
do
{
ch = getchar();
if (ch == ' ' || ch == '\n')
{
if (*tmp)
{
*tmp_p = 0;
if (!strcmp(tmp, word)) printf("%s", word1); else
if (!strcmp(tmp, word1)) printf("%s", word); else
printf("%s", tmp);
*tmp == 0; tmp_p = tmp;
}
if(ch == ' ')putchar(ch);
}
else
*tmp_p++ = ch;


} while (ch != '\n');

}
Иван Фёдочкин
Иван Фёдочкин
51 416
#include <stdio.h>
#include <string.h>
int main()
{
char str[100], oldName[20], newName[20];

printf("Введите предложение: ");
scanf("%[^\n]s", str);

printf("Введите имя для замены: ");
scanf("%s", oldName);

printf("Введите новое имя: ");
scanf("%s", newName);

int len = strlen(oldName);

for (int i = 0; str[i] != '\0'; i++) {
int j;
if (str[i] == oldName[0]) {
for (j = 1; j < len; j++) {
if (str[i + j] != oldName[j])
break;
}

if (j == len) {
int k;
for (k = 0; newName[k] != '\0'; k++) {
str[i + k] = newName[k];
}

i += k - 1;
}
}
}

printf("Новое предложение: %s\n", str);

return 0;
}
Андрей Макаров
Андрей Макаров
16 420
Андрей Макаров Я хз чё это если честно