Учебная практика №3
по дисциплине:
Разработка программных модулей программного обеспечения для компьютерных систем. Системное программирование.
Выполнил: ст. гр. Т-34
Фамилия Тельнов Владислав
Задача 1.
Написать программу, которая запрашивает ввод строки и образец символа. Ввод осуществляется на латинице. Программа должна:
-
Вывести строку без указанного символа
-
Подсчитать, сколько раз символ был удален из строки.
-
Если образец отсутствует в строке, программа должна выводить соответствующее сообщение.
Решение:
-
Блок-схема программы:
-
Код программы:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
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)
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();
}
-
Пример работы программы:
Задача 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))
{
printf("итоговая строка %s ",strcat(c,s));
while (c[i]!='\0')
{
if (k>=1 && c[i]=='.')
{
el2=i;
k++;
}
if (k==0 && c[i]=='.')
{
el1=i;
k++;
}
i++;
}
if (k>=2)
{
printf("\nСимволы между точками :");
for (i=el1+1;i<=el2-1;i++)
printf("%c",c[i]);
}else
{
printf("\nВВедена только 1 точка либо их нет !");
}
}else if (strlen(c)>strlen(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);
printf("\nИтокго строка: %s",c);
}
_getch();
}
-
Пример работы программы:
Задача 3.
Написать программу, которая запрашивает ввод исходной строки. На выходе должно получиться две итоговые строки. В первой строке необходимо поменять местами максимальный и минимальный цифровые символы, а во второй поменять местами максимальный и минимальный буквенные символы (на латинице – минимальный элемент - ‘a’ – код 97, максимальный элемент – ‘z’ – код 122). В случае, если введены только цифры или только буквы, программа должна выдавать соответствующее сообщение.
Решение:
-
Блок-схема программы:
-
Код программы:
-
Пример работы программы: