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

Ввести строку символов, переформатировать его, продлив до длины 60 символов равномерным добавлением пробелов между словами. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наследование классов, ошибка no matching function for call to http://www.cyberforum.ru/cpp-beginners/thread831553.html
Здравствуйте. Имеется программа с классом tre. Пытаюсь сделать наследование Новым классом Trel, но получаю ошибку no matching function for call to `Trel::Trel(int, int, int)'. #include <stdio.h> #include <conio.h> #include <iostream.h> #include <stdlib.h> #include <math.h> using namespace std; class tre {public: int a,b,c; tre(int x, int y, int z)
C++ DevCpp не запускаются программы В DevCPP при компиляции любой программы вылезает окно с надписью "Программа g++.exe не работает". Потом windows ищет решение проблемы, но ничего не находит.. Подскажите пожалуйста, с чем это может быть связано и какой магический порядок нужно проделать чтобы искоренить эту неполадку.Спасибо. http://www.cyberforum.ru/cpp-beginners/thread831547.html
кто может перевести код в с++ C++
нужно перевести код в С++ В с++ вообще не понимаю ,а вот в паскале набрасал код! кому не сложно помогите пожалуйста uses crt; var r1,r2,h,d,s:real; begin clrscr; repeat write('Введите ширину кольца h>0 h='); readln(h);
C++ Гроб настоящий!
Всем привет! Помогите пожалуйста, напишите код решения этой задачи или объясните хотя бы идею... { Ограничение по времени, сек 2 Ограничение по памяти, мегабайт 64 Мальчику Пете очень нравится математика. Недавно он выписал открыл новую последовательность чисел и, назвав её в свою честь, тут же записал её на длинной ленте, чтобы не забыть. Всё бы хорошо, но у Пети есть младший брат...
C++ Нужно описание кода! http://www.cyberforum.ru/cpp-beginners/thread831502.html
кто может описать код?? #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #define MENTION printf("Enter 'j', 'i', 'l' or 'k' to move the empty cell left, up, right or down correspondingly, or 'q' to exit: \n\n");
C++ программа для вычислений ряда Приветики,лучшим программистам!!!Можете помочь пожалуйста мне с программкой)))Буду очень благодарна))) Дан числовой ряд,нужно при помощи рекурсии вычислить сумму n членов этого ряда.Заранее спасибо за помощь мальчики)) подробнее

Показать сообщение отдельно
Broo
Сообщений: n/a
08.04.2013, 16:04     Ввести строку символов, переформатировать его, продлив до длины 60 символов равномерным добавлением пробелов между словами.
Всем привет)
Не подскажите как написать алгоритм по задаче
Есть задача
Ввести строку символов, переформатировать его, продлив до длины 60 символов равномерным добавлением пробелов между словами. Определить количество добавленных пробелов.

вот код :
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
77
78
79
#include <iostream>
#include <conio.h>
using namespace std;
 
const int size=60; // длина строк
char S[size+1]; //рядок
int spacing(char *S, int target_len); // добавление пробелов
int ch_count(char *S, const char Ch); // подсчет вхождения символа в строку
 
int main()
{  
    int count=0; 
    puts("Input string: ");
    cin.getline(S,size+1);
    cout<<"String length: "<<strlen(S)<<endl;
    
    if (strlen(S)!=size) count=spacing(S,size);
    
    if (count<0) 
        cout<<"String has only one word! Operation fail!"<<endl;
    else {
        cout<<S<<endl;
        cout<<"Count of space: "<<count<<endl;
    }
 
    system("pause");
    return 0;       
}
 
int spacing(char *S, int target_len)
{
    int i, j, n, count;
    char *ptr=S;
    char *result;
 
    count = ch_count(S,' ');
    if (!count) return -1;
    for(n=0; strlen(S)+count*(n+1) <= target_len; n++);//количество пробелов которе нужно вставить в каждую пробельную позицию 
    if (!n) return 0;
 
    result = new char [target_len+1];//динамическое выделения памяти под строку
 
    for(i=0; *ptr; i++)//создания результатирующая строки 
    {
        if (*ptr==' ')
        {
            for(j=0; j!=n; j++, i++)
                result[i]=*ptr;
            ptr++;
            i--;
        } else {
            result[i]=*ptr; ptr++;
        }
    }
    result[i]=0;
 
    strcpy(S,result);//передача результатирующий строки строке S
 
    delete [] result;
    return count*n;
}
 
int ch_count(char *S, const char Ch)
{
    int count = 0;
    char *begin = S, *end = begin + strlen(S);
 
    while (begin<end)
    {
        if (*begin == Ch) count++;
        if (*end == Ch) count++;
        begin++;
        end--;
    }
 
    if (begin == end && *begin == Ch) count++;
 
    return count;
}
Спасибо заранее
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru