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

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

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

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

09.12.2012, 17:49. Просмотров 522. Ответов 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");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 17:49     Изменения типа данных
Посмотрите здесь:

C++ Создание типа данных
C++ Предопределение типа данных С++
C++ Защита данных от изменения в константном методе
Изменения значения переменной типа COORD C++
C++ Анализ данных с COM порта. Есть ли способ чтения файла в процессе его изменения?
C++ Чем отличаются эти два способа изменения типа данных?
C++ Можно ли добавлять данные в файл, без изменения прежних данных в этом файле?
C++ Определение типа данных
Ветвление в зависимости от типа данных C++
C++ Распознавание типа данных в строке
C++ Выбор верного типа данных
Обработка данных строкового типа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3585 / 1365 / 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 секунд
Дальше не смотрел.
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 301
Завершенные тесты: 1
09.12.2012, 18:16  [ТС]     Изменения типа данных #3
что-то не особо помогло, при запуске после ввода 1 значения программа зависает
NeonLost
Пес войны
74 / 85 / 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;
}
а у вас слишком сложно...(
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 301
Завершенные тесты: 1
09.12.2012, 18:50  [ТС]     Изменения типа данных #5
просто к сожалению так требуют, запрещают использовать команды каких нам не росказывали а росказали только цыклы, ветвление и переменые указатели и масивы, просто если использовать ваш код, то меня будут спрашивать почти по каждой строчке и очень подробно типо почему и как действует, на что-то я смогу ответить, но думаю врядли смогу ответить на все. К примеру библиотеку алгоритм вопще незнаю, так что про нее несмогу нечего ответить, а все остально впринцепи можно, но все-таки желательно что-то зделать с моим
Yandex
Объявления
09.12.2012, 18:50     Изменения типа данных
Ответ Создать тему
Опции темы

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