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

Удвоить каждую букву - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Курсовая по информатике(сам в С++ пока полный "0") http://www.cyberforum.ru/cpp-beginners/thread29350.html
1. Информация о температуре воздуха за месяц задана в виде массива. Определить, сколько раз температура опускалась ниже 0°С. 2.Известно, что в Москве самыми теплыми являются дни с 15 июля по 15 августа. Для проведения фестиваля были выбраны 7 следующих подряд дней, наиболее теплых по данным за последние 10 лет. Составить программу для выполнения этой работы на ЭВМ. 3.Японская радиокомпания...
C++ Oткомпилируйте, пожалуйста, программу. Уважаемые программисты, пользователи, откомпилируйте, пожалуйста, программу. Пока сам не имею возможности. Буду очень благодарен. Мой е-майл djumlatun@hotmail.com #include <iostream.h> #include <math.h> void main(void) // Моя первая программа {int a; b; c; D; x; x1; x2; cout << "Решение квадратного уравнения" << endl << "Введите переменные a, b и c" << endl; cin >> a >> b >> c;... http://www.cyberforum.ru/cpp-beginners/thread29345.html
Обьявление массива в классе C++
Как при создании своего класса Дата обьявить массив, в котором задаётся количество дней по месецам? При этом этот массив используется в самом классе и для всех функций - общий.
Чтение из строк из файла по одному символу C++
Всем добрый вечер! Делаю контрольную на С++ и так как никогда не писал на С, (только на паскале и делфи) возникли вопросы. Вопрос первый. Как читать строку из файла по одному символу за раз? вроде нужно использовать getc или fgetc, но что и как именно использовать? Собственно какая разница между getc и fgetc? И вообще есть ли какие функции (или комбинации функций) для произвольного чтения...
C++ Работа с файлами в цикле. http://www.cyberforum.ru/cpp-beginners/thread29328.html
Вообщем у меня стоит задача считать из текстового файла цифры, фаил состоит из ста строк в каждой по двузначной цифре. Мне надо эти цифры перегнать в масив, соответственно будет масив из ста двузначных цифр. моя реализация: void __fastcall TForm1::N2Click(TObject *Sender) { const int len=2; int r; int i=0; char line; int mas1; OpenDialog1->FileName = "*.txt"; OpenDialog1->Options <<...
C++ Сдвиг на один символ Здравствуйте. у меня не получается решить такую задачку: есть последовательность символов, например: 'aaaabbbbccccdddd' мне необходимо выводить подстроку из 4-х символов, при этом смещаясь на один символ вправо, результат должен быть таким: aaaa aaab aabb abbb bbbb подробнее

Показать сообщение отдельно
Lil Crazy
 Аватар для Lil Crazy
5 / 5 / 1
Регистрация: 23.03.2009
Сообщений: 198
12.04.2009, 14:53     Удвоить каждую букву
Сам решал такую же прогу на си. Вот код:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <stdio.h>
#include <conio.h>
 
int main (void)
{
    FILE *InputFile, *OutputFile; //обьявляем текстовые файлы
    unsigned char code; //переменная для хранения кода символа
    char string1[256], string2[256]; //строки для текстовых файлов
    char path_in [128], path_out [128]; //строки для путей
 
    printf("Enter input file: "); //запрос имени входящего файла
    scanf("%s",path_in); 
    
    if ((InputFile=fopen(path_in, "r")) == NULL ) //если не удалось открыть файл, то
    {
        perror(path_in); //выводим об этом сообщение 
        getch();
        return 1; //и выходим
    }
    
    printf("Enter output file: "); //запрос имени выходного файла
    scanf("%s",path_out);
    
    printf("\n");
    printf("%s\n","Processing..."); //вывод сообщения о работе   
 
    if ((OutputFile=fopen(path_out, "w+")) == NULL ) //если не удалось открыть файл, то
    {
        perror(path_out); //выводим об этом сообщение 
        getch();
        return 1; //и выходим
    }
    
    while(1)
    {
        fread(&code,1,1,InputFile);
        fwrite( &code, sizeof(char), 1, OutputFile ); //если литера, вставляем ещё такую же
        if( ( code > 64   && code < 91   ) ||( code > 96   && code < 121  ) ||( code > 191  && code < 254  ) ||   code == 168 || code == 184 )
            fwrite( &code, sizeof(char), 1, OutputFile ); //записываем изменения в файл
        if(feof(InputFile))     //если прочитали конец файла, выходим из цикла
            break;
    }
    
    printf("%s\n","All liters doubled"); //вывод сообщения об удачном удваивании
 
    //устанавливаем указатели на начало файлов
    rewind(InputFile);
    rewind(OutputFile);
 
    printf("\nInput text:\n");
    
    while(1) 
    {
        fgets(string1, 256, InputFile);
        printf("%s",string1); //вывод построчно с переходом на следующую строку
        if(feof(InputFile))
            break;
    }
 
    printf("\n\nOutput text:\n");
    
    while(1) 
    {
        fgets(string2, 256, OutputFile);
        printf("%s",string2); //вывод построчно с переходом на следующую строку
        if(feof(OutputFile))
            break;
    }
    
    //закрываем оба текстовых файла
    fclose(InputFile);
    fclose(OutputFile);
 
    getch();
    return 1;
}
Прога считывает только литеры из первого текстового файла и записывает удвоенные во второй.
 
Текущее время: 02:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru