
- •2.3. Задача № 3. 44
- •2.3.2. Код программы 46
- •Int _tmain() 46
- •Int _tmain()
- •Int _tmain()
- •1.2.3. Пример работы программы:
- •1.3. Задача № 3.
- •1.3.1. Блок-схема:
- •1.3.2. Код программы:
- •Int _tmain()
- •Int _tmain()
- •Int _tmain()
- •1.5.3. Пример работы программы:
- •2.1. Задача № 1.
- •Int _tmain()
- •3.1.3. Пример работы программы:
- •3.2. Задача № 2.
- •3.2.1. Блок-схема
- •3.2.2. Код программы
- •Int _tmain()
- •3.2.3. Пример работы программы:
- •3.3. Задача 3.
- •3.3.1. Блок схема
- •3.3.2. Код программы
- •Int _tmain()
- •3.3.3. Пример работы программы:
Int _tmain()
{
const char* locale = setlocale(LC_ALL,"");
char c[80], s;
int n=0,i=0;
printf("ВВедите исходную строку\n");
gets(c);
printf("ВВедите удаляемый символ\n");
scanf("%c",&s);
while (c[i]!='\0')\\цикл для проверки строки на наличие удаляемого символа.
{
if (c[i]==s)\\условие при котором если в строке c символ i равен символу s то идёт подсчёт удаляемых символов.
n++;\\счётчик удаляемых символов
i++;
}
if (n>0)\\условие проверки того есть ли в строке удаляемый символ
{
i=0;
printf("строка без символа\n");
while (c[i]!='\0')\\цикл выводит все символы кроме удоляемого
{
if (c[i]!=s)\\если условие находит удаляемый символ оно пропускает его и не выводит на печать , в ином случае печатает.
printf("%c",c[i]);
i++;
}
printf("\nСимвол <%c> был удалён %i \n",s,n);
}
Else\\условие при котором в строке не было найдено удаляемого символа
printf("Искомый символ не найден\n");
_getch();
}
3.1.3. Пример работы программы:
Пример работы представлен на рисунке 12 и рисунке 13.
Рисунок 5. «Результат при найденном удаляемым символом»
Рисунок 6. «Результат при ненайденном удаляемом символе».
3.2. Задача № 2.
Написать программу, которая запрашивает ввод двух строк.
Программа должна:
Вывести сначала элементы первой строки, затем элементы второй строки, если длина первой строки меньше длины второй.
Вывести сначала элементы второй строки, затем элементы первой строки, если длина второй строки меньше длины первой.
Если длины строк равны, то запросить вводи символа, заполнить строку образцом и вывести полученную строку.
Вывести элементы, расположенные в итоговой строке, находящиеся между первой и последней точкой. (В случае, если введена только одна точка или точки не введены необходимо отобразить соответствующее сообщение).
Решение:
3.2.1. Блок-схема
3.2.2. Код программы
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <string.h>
Int _tmain()
{
const char* locale = setlocale(LC_ALL,"");
char c[80], s[80],sim,st[80];
int k=0,i=0,el1,el2;
printf("ВВедите первую строку\n");
gets(c);
printf("ВВедите вторую строку\n");
gets(s);
if (strlen(c)<strlen(s))\\условие при котором длина строки с должна быть больше длины строки s.
{
printf("итоговая строка %s ",strcat(c,s));\\соединяет строки с и s и записывает результат в переменную c.
while (c[i]!='\0')\\проверяет с строку на наличие символа ‘.’ Подсчитывает количество данного символа и находит элемент первого и последнего символа ‘.’
{
if (k>=1 && c[i]=='.')
{
el2=i;
k++;
}
if (k==0 && c[i]=='.')
{
el1=i;
k++;
}
i++;
}
if (k>=2)\\условие проверки того чтобы символ ‘.’ Встречался не менее 2-х раз.
{
printf("\nСимволы между точками :");
for (i=el1+1;i<=el2-1;i++)\\выводит все символы между первым и последним символом ‘.’ Не включая данного символа.
printf("%c",c[i]);
}else\\ если символов ‘.’ Меньше чем 2
{
printf("\nВВедена только 1 точка либо их нет !");
}
}else if (strlen(c)>strlen(s))\\ аналогично верхниму циклу но основные действия выполняются со строкой s
{
printf("итоговая строка %s ",strcat(s,c));
while (s[i]!='\0')
{
if (k>=1 && s[i]=='.')
{
el2=i;
k++;
}
if (k==0 && s[i]=='.')
{
el1=i;
k++;
}
i++;
}
if (k>=2)
{
printf("\nСимволы между точками :");
for (i=el1+1;i<=el2-1;i++)
printf("%c",s[i]);
}else
{
printf("\nВВедена только 1 точка либо их нет !");
}
}else if (strlen(c)==strlen(s))\\если длины строк ровны
{
printf("Длины строк равны.Введите символ заполнитель: \n");
scanf("%c",&sim);
strset(c,sim);\\заполняет строку c символом sim
printf("\nИтокго строка: %s",c);\\вывод строки с
}
_getch();
}