Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архив1 / docx54 / отчет(11)

.docx
Скачиваний:
22
Добавлен:
01.08.2013
Размер:
181.85 Кб
Скачать

Учебная практика №3

по дисциплине:

Разработка программных модулей программного обеспечения для компьютерных систем. Системное программирование.

Выполнил: ст. гр. Т-34

Фамилия Тельнов Владислав

Задача 1.

Написать программу, которая запрашивает ввод строки и образец символа. Ввод осуществляется на латинице. Программа должна:

  1. Вывести строку без указанного символа

  2. Подсчитать, сколько раз символ был удален из строки.

  3. Если образец отсутствует в строке, программа должна выводить соответствующее сообщение.

Решение:

  1. Блок-схема программы:

  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();

}

  1. Пример работы программы:

Задача 2.

Написать программу, которая запрашивает ввод двух строк.

Программа должна:

  1. Вывести сначала элементы первой строки, затем элементы второй строки, если длина первой строки меньше длины второй.

  2. Вывести сначала элементы второй строки, затем элементы первой строки, если длина второй строки меньше длины первой.

  3. Если длины строк равны, то запросить вводи символа, заполнить строку образцом и вывести полученную строку.

  4. Вывести элементы, расположенные в итоговой строке, находящиеся между первой и последней точкой. (В случае, если введена только одна точка или точки не введены необходимо

Решение:

  1. Блок-схема программы:

  1. Код программы:

#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();

}

  1. Пример работы программы:

Задача 3.

Написать программу, которая запрашивает ввод исходной строки. На выходе должно получиться две итоговые строки. В первой строке необходимо поменять местами максимальный и минимальный цифровые символы, а во второй поменять местами максимальный и минимальный буквенные символы (на латинице – минимальный элемент - ‘a’ – код 97, максимальный элемент – ‘z’ – код 122). В случае, если введены только цифры или только буквы, программа должна выдавать соответствующее сообщение.

Решение:

  1. Блок-схема программы:

  1. Код программы:

  1. Пример работы программы:

Соседние файлы в папке docx54