close

Вход

Забыли?

вход по аккаунту

?

Задача 2

код для вставкиСкачать

Задача №2.
Условие задачи
В заданной строке удалить все цифры.
Описание метода решения задачи
1. Выявляем исходные данные, результаты, назначаем им имена.
Исходные данные: исходная строка *str1- объявляется как указатель; переменная-указатель-*tmp, в неё будем записывать начальный адрес новой строки
Результаты: новая строка str2
2. Выбираем метод решения задачи, разбиваем на этапы (с учетом возможностей ЭВМ)
Первоначально составим укрупненную схему, а затем подробную для блока III.
Укрупненная схема
I. Подключение всех необходимых заголовочных файлов
II. Глобальные описания переменных char *str1,*str2=new char,*tmp;
III. Получение необходимого результата и вывод его на экран
III. 1. МРЗ:
* вводим строку (gets(str1); функция считывает строку из stdin и записывает адрес str1, добавляя символ '\0')
* в переменной tmp сохраняем начальный адрес новой строки tmp= str2;
* в цикле "перебора элементов строки" - while(*str1 != '\0'):
- проверяем, если символ является цифрой - if(*str1>= '0'&& *str1<='9'), то никаких действий с ним не производим, иначе
в новую строку *str2 записываем этот символ - *str2=*str1;
увеличиваем адрес переменной str2 на одну ячейку (str2++) для передвижения по новой строке
- важно! в теле цикла необходимо увеличивать адрес переменной str1 на одну ячейку (str1++), иначе из цикла не выйти!
* после окончания цикла "перебора элементов строки str1" в новую строку записываем символ конца строки (*str2='\0';)
* вывод результата: - предварительно нужно перейти на начало новой строки - str2=tmp;
- выводим на экран преобразованную строку str2
Программа, реализующая данный алгоритм
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main()
{
char *str1,*str2=new char,*tmp;
clrscr();
printf("Веди строку из цифр, букв русского и латинского алфавита ....\n");
gets(str1);
tmp=str2;
printf("\nПолученная строка\n");
while(*str1 != '\0')
{
if(*str1>= '0'&& *str1<='9') ;
else {*str2=*str1;str2++;}
str1++;
}
*str2='\0';
str2=tmp;
printf("%s",str2);
getch();
}
Документ
Категория
Рефераты
Просмотров
16
Размер файла
68 Кб
Теги
задачи
1/--страниц
Пожаловаться на содержимое документа