Объединить две строки в одну, удалив все пробелы - C (СИ)
Формулировка задачи:
Привет всем. Нужна помощь нубу.
Ести небольшое начало программы:нужно добить:
0. Объеденить две строки в одну, удалив все пробелы (через оператор for).
1. Заменить все пары букв X,Y на цифры 1,2(через оператор do-while). Замену прекратить если количество измененй будет больше 4.
Желательно с максимально возможными комментариями
Зарание спасибо!
#include <stdio.h>
#include <conio.h>
main()
{
char str1[80], str2[80], str3[160];
int i, j, count;
//Vvod strok
printf("Enter first string:\t");
gets(str1);
printf("Enter second string:\t");
gets(str2);
//Podschet strok
i=0;
while(str1[i++]!='\0');
printf("First string length is:\t%d chars\n",i-1);
j=0;
while(str2[j++]!='\0');
printf("Second string length is:\t%d chars\n",j-1);Решение задачи: «Объединить две строки в одну, удалив все пробелы»
textual
Листинг программы
int a=0; //Переменная для итерации цикла 4 раза
int str=0; //Переменная для индексации строки
do
{
if(str1[str]=='X' && str1[str+1]=='Y')
{
str1[str] = '1';
str1[str+1] = '2';
a++;
};
} while(a<=4 && str<79)//Делать пока изменений меньше или равно 4
Объяснение кода листинга программы
- Объявлены две переменные:
aиstr. - Переменная
aинициализируется значением 0, а переменнаяstrинициализируется значением 0. - Запускается цикл
do-while, который будет выполняться 4 раза. - Внутри цикла проверяется, равна ли текущая позиция строки
strзначению 6. - Если условие выполняется, то символы в этой позиции заменяются на '1' и '2'.
- Переменная
aувеличивается на 1. - После выполнения всех условий, цикл продолжается до тех пор, пока переменная
aменьше или равна 4 и переменнаяstrменьше 79. - Если цикл закончился, то выполнение программы завершается.