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

Как вернуть char* ? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *" http://www.cyberforum.ru/cpp-beginners/thread1307359.html
#include <iostream> #include <cmath> using namespace std; double f(double *a, double x) { double k = 0; int n; for (int i = 0; i < n; i++) k += (a * pow(x, n - 1)); return k; } void...
C++ Ввод целого положительного числа Очень нуждаюсь в помощи, не могу справиться с РГР, нужно написать программу, которая обеспечивает ввод целого положительного числа, при нажатии клавиши соответствующий символ должен появиться на... http://www.cyberforum.ru/cpp-beginners/thread1307349.html
Вероятностное сжатие C++
Здравствуйте, мне нужно реализовать вероятностное сжатие. Но я даже не знаю с какой стороны подойти, а гугл ни чего толкогово мне не выдает. буду благодарен за пример реализации, либо за ссылку на...
Исправьте ошибку C2664 приведения типов C++
#include "stdafx.h" #include <iostream> #include <fstream> #include <conio.h> using namespace std; void statistics(char *text, char *shifr, int n) { int stat; for (int i = 0; i < 256;...
C++ Динамический массив http://www.cyberforum.ru/cpp-beginners/thread1307319.html
Доброго времени суток. Пытаюсь реализовать структуру данных "Динамический массив". В итоге выполнения кода, почему-то, кроме введенных данных выводятся еще какие-то левые. Где мой просчёт? ...
C++ Задача с codeforces "Бьем чудовище" ПОДСКАЖИТЕ АЛГОРИТМ И СРЕДСТВА РЕШЕНИЯ ДАННОЙ ЗАДАЧ C. Бьём чудовище! ограничение по времени на тест1 секунда ограничение по памяти на тест256 мегабайт вводстандартный ввод выводстандартный... подробнее

Показать сообщение отдельно
Nosey
1348 / 399 / 107
Регистрация: 22.10.2014
Сообщений: 861
Завершенные тесты: 2
22.11.2014, 01:07
Как-то так:
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
// ConsoleApplication1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
char* GetString()
{
    char* ArrX = (char *)malloc(10 * sizeof(char));
    char CharX;
    int count = 10;
    int NowCount = 0;
    while ((CharX = getchar()) != '\n')
    {
        NowCount++;
        ArrX[NowCount - 1] = CharX;
        if (NowCount == count - 1)
        {
            char* Array = (char *)malloc((count + 10) * sizeof(char) + 1);
            count += 10;
            memcpy(Array, ArrX, count*sizeof(char));
            free(ArrX);
            ArrX = Array;
        }
    }
    ArrX[NowCount] = '\0';
    return ArrX;
 
}
 
char* ReverseLine(char* x)
{
    char* Array = (char*)malloc(strlen(x)+1);
    memcpy(Array, x, strlen(x)+1);
    for (char *arBeg = Array, *arEnd = Array + strlen(Array) - 1; arBeg < arEnd; ++arBeg, --arEnd)
    {
        std::swap(*arBeg, *arEnd);
    }
    return Array;
}
 
void _tmain()
{
    char* Array = GetString();
    cout << Array << endl;
    char* ArrayRev = ReverseLine(Array);
    cout << ArrayRev;
 
    free(Array);
    free(ArrayRev);
    system("pause");
}
Хотя лучше посмотрите в сторону std::string
да и коли мы пишем на C++ стоит юзать new вместо malloc и delete вместо free.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru