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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
#1

Изменения типа данных - C++

09.12.2012, 17:49. Просмотров 610. Ответов 4
Метки нет (Все метки)

Прошу помоч, написал програму для сортировки чисел от большего к меншему, заполнение идет вводом пользователем чисел. Только я написал там тип данных int, а мне надо зделать char я уже где только не менял тип данных и на массиве и на все переменных, как только изменю программа начинает некоректно работать, помоги пожайлуста, зарение прошу просить за то что програмный код не особо отфармотирован, только написал ище небыло времени подфармотировать, если что непонятно зачем написано пишите отвечу, ПОМОГИТЕ пожайлуста
вот код
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
#include <stdio.h>
void main()
{
    int r;
    int i;
    int vrem;
    int *pArr;
    printf("Set number of elements in the array:");
    scanf("%i",&r);
    int k=r;
    pArr=new int[r];
    for(i=0;i<r;i++)
    {
        printf ("Set Arr[%i] value:",i);
        scanf ("%i",pArr+i);
    }
    printf("\r\nArr={");
    for (i=0;i<r;i++)
    {
        if(i!=r-1)
            printf("%i, ",*(pArr+i));
        else
            printf("%i",*(pArr+i));
    }
    printf("}\r\n");
    int a=r-1;
    int m;
    for (i=0;i<r-1;i++)
        
        {
        m=0;
        for (int j=0;j<a;j++)
        {   
            if (*(pArr+j)<*(pArr+j+1))
            {
                vrem=*(pArr+j);
                *(pArr+j)=*(pArr+j+1);
                *(pArr+j+1)=vrem;
                m++;
                
            }
        
        if (m=0) break;
        
        }
        a--;    
        }
    
        
    printf("\r\nSorted Arr={");
    
    for(i=0;i<r;i++)
    {
        if(i!=r-1)
            printf("%i, ",*(pArr+i));
        else
            printf("%i",*(pArr+i));
    }
    printf("}\r\n");
    delete []pArr;
    scanf ("%i");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 17:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменения типа данных (C++):

Чем отличаются эти два способа изменения типа данных? - C++
В книге Лафоре дают такой способ int buf; ofstream os(&quot;edata.dat&quot;,ios::binary); ...

Изменения значения переменной типа COORD - C++
Всем доброго времени суток! Недавно я, найдя хороший способ перемещения курсора в консоли, столкнулся с проблемой. Сам код выглядит...

Нужен способ помещения разного рода типа данных в контейнеры типа массивов или структур - C++
Сабж. Нужен способ помещения разного рода типа данных в контейнеры типа массивов или структур или... пободного рода простых для восприятия...

Защита данных от изменения в константном методе - C++
Допустим, class test { public: void foo() const { arr = new int; // ошибка arr = 100; // все ок,...

Зачем использовать функции-члены для изменения членов-данных - C++
Вообщем, объяснить вопрос. К примеру имеется класс, в private-свойствах которого имеется x1,y1,x2,y2(Rect), а в public находятся функции...

Возврат объекта шаблонного типа от типа Type из специализации шаблона метода от того же типа - C++
Доброго времени суток, пишу класс содержащий несколько std::set от разных типов, нужно сделать метод возвращающий указатель на нужное...

4
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.12.2012, 17:55 #2
C++
1
2
int *pArr;
pArr=new int[r];
заменить на
C++
1
char *pArr = new char[r];
Цитата Сообщение от итернал Посмотреть сообщение
scanf ("%i",pArr+i);
Заменить на
C
1
fgets(pArr, r, stding);
Цитата Сообщение от итернал Посмотреть сообщение
printf("%i, ",*(pArr+i));
Заменить на
C
1
printf("%c", *(pArr + i));
Добавлено через 12 секунд
Дальше не смотрел.
0
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
09.12.2012, 18:16  [ТС] #3
что-то не особо помогло, при запуске после ввода 1 значения программа зависает
0
NeonLost
Пес войны
75 / 86 / 3
Регистрация: 23.02.2012
Сообщений: 653
09.12.2012, 18:35 #4
я бы не парился и так бы сделал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
 
int main() 
{
    vector<char> str;
    vector<char>::iterator it;
    char tmp;
    for(int i=0; i<5; i++)
    {
        cin>>tmp;
        str.push_back(tmp);
    }
    sort (str.begin(), str.end());
    for (it=str.begin(); it!=str.end(); ++it)
    cout << " " << *it;
    getchar();
    getchar();
    return 0;
}
а у вас слишком сложно...(
0
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
09.12.2012, 18:50  [ТС] #5
просто к сожалению так требуют, запрещают использовать команды каких нам не росказывали а росказали только цыклы, ветвление и переменые указатели и масивы, просто если использовать ваш код, то меня будут спрашивать почти по каждой строчке и очень подробно типо почему и как действует, на что-то я смогу ответить, но думаю врядли смогу ответить на все. К примеру библиотеку алгоритм вопще незнаю, так что про нее несмогу нечего ответить, а все остально впринцепи можно, но все-таки желательно что-то зделать с моим
0
09.12.2012, 18:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2012, 18:50
Привет! Вот еще темы с ответами:

Можно ли добавлять данные в файл, без изменения прежних данных в этом файле? - C++
Помогите с проблемой, нужно что бы старые данные в файле не исчезали, при записи новых данных.Можно ли такое сделать?

Анализ данных с COM порта. Есть ли способ чтения файла в процессе его изменения? - C++
Здравствуйте форумчане, передо мной стала задача, которую я никак не могу осилить, а именно анализ данных с COM порта. Принимать данные с...

Предопределение типа данных С++ - C++
Доброго времени суток) Столкнулась с проблемой - нужно было код из книги,написанный на паскале, перекодить в с++.Даны две структуры,и в...

Создание типа данных - C++
Здравствуйте, вот вопрос: как создать целочисленный тип данных, как интеджер, только длиной символов в 100 или более? Можно пример, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru