Форум программистов, компьютерный форум CyberForum.ru

напишите программу!!! тема "работа с символьными данными"!!! - C++

Восстановить пароль Регистрация
 
Tokez
-3 / 1 / 0
Регистрация: 25.04.2011
Сообщений: 20
12.06.2011, 13:24     напишите программу!!! тема "работа с символьными данными"!!! #1
Прочитать из файла строку символов. Удалить в этой строке каждый символ * и повторить каждый символ, отличный от *. Новую строку не создавать. Вывести исходную и преобразованную строки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.06.2011, 14:17     напишите программу!!! тема "работа с символьными данными"!!! #2
Проверьте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cstring>
void erase(char * x){
    while (*x)
        *x = *(x+++1);
}
void insert(char * x){
    char * ptr = x;
    while (*ptr++);
    while (ptr!=x)
        *ptr = *(ptr---1);
}
int main(){
    const int maxsize = 100;
    char str[maxsize];
    std::cin.getline(str,maxsize/2);
    std::cout << "Before: " << str << std::endl;
    while (char * x = strchr(str,'*')) erase(x);  //удаление *
    for (char * ptr = str; *ptr; ptr+=2)          //удвоение символов
        insert(ptr);
    std::cout << "After:  " << str << std::endl;
    
    return 0;
}
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
12.06.2011, 14:30     напишите программу!!! тема "работа с символьными данными"!!! #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    // считывание из файла
    string str = "Thi*s is* sim*ple* te*nse*"; 
    cout << str << endl;
    for(int i = 0; i < str.length(); i++)
    {
        cout << str.length() << endl;
        if(str.at(i) == '*')
            str.erase(i, 1);
        else
        {
            str.insert(i, 1, str[i]);
            i++;
        }
    }
    cout << str;
    
    return 0;
}
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
12.06.2011, 14:52     напишите программу!!! тема "работа с символьными данными"!!! #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
 
int main (){
    FILE* f=fopen("1.txt", "r");
    if(!f){perror("Error"); exit(1);}
    char text[1024], *p=text;
    while((*p=fgetc(f))!='\n'&&!feof(f)){
        printf("%c", *p);
        if(*p!='*'){
            *(p+1)=*p;
            p+=2;
        }
    }
    *p='\0';
    printf("\n%s\n", text);
    fclose(f);
    return 0;
}
Yandex
Объявления
12.06.2011, 14:52     напишите программу!!! тема "работа с символьными данными"!!!
Ответ Создать тему
Опции темы

Текущее время: 21:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru