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

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

Войти
Регистрация
Восстановить пароль
 
Boderman
3 / 3 / 3
Регистрация: 25.03.2013
Сообщений: 140
#1

Масив принимает в 16-ричной, а выдаёт в 10-ричной - C++

02.04.2013, 01:22. Просмотров 530. Ответов 4
Метки нет (Все метки)

Народ подскажите в чом может быть проблема ?

Задание :Дан массив чисел размерностью 10 элементов. Написать функцию, которая сортирует массив по возрастанию или по убыванию, в зависимости от третьего параметра функции. Если он равен 1, сортировка идет по убыванию, если 0, то по возрастанию. Первые 2 параметра функции - это массив и его размер, третий параметр по умолчанию равен 1.

Вопрос: У меня массив изначально выдаёт значение в 16-ричной системе, но вот значения обратные выдаёт в десятичной.Вопрос в следующем где ошибка иза которой массив выдаёт мне числа в 16-ричной системе?(Числа до функции и после должны быть в десятичной )

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
#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
template <typename A>
A Ram_1 (A a[],const int size,int key)
{A x=0;
    int i, j, k; 
    switch (key)
    {case 1: for(i=0;i<size;i++){            // i - номер прохода
        for(j=size-1;j>i;j--){     // внутренний цикл прохода
            if(a[j-1]<a[j]){
                x=a[j-1];
                a[j-1]=a[j];
                a[j]=x;
            }
        }
    }
 
 
 break;
case 0: for(i=0;i<size;i++) { k=i; x=a[i];
       for(j=i+1;j<size;j++)    
            {if(a[j]<x){k=j; x=a[j];}
        a[k]=a[i];
        a[i]=x;     
    }
} break;}
cout<<"Ваш массив отсортирован :\n";
for (int i=0;i<size;i++)
{cout<<a[i]<<"\n";}return 0;}
 
void main()
{srand (time(NULL));
setlocale (LC_ALL,"Russian");
const int size=10;
int array_1[size];
int key=1;
cout<<"Эсли вы желаэте отминить сортировку по умолчанию нажмите: Y ";
char a='N';
cin>>a;
if (a=='Y'){cout<<"Выбирите как вы хотите отсортировать массив : 1- по убыванию, 0-по возростанию";cin>>key;}
for (int i=0;i<size;i++)
{array_1[i]=rand()%20;system ("pause");}
cout<<"Ваш массив состоит из таких елементов:\n";
for (int i=0;i<size;i++)
{cout<<array_1<<"\n";}
 
Ram_1(array_1,size,key);
 
 
 
system ("pause");}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2013, 01:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Масив принимает в 16-ричной, а выдаёт в 10-ричной (C++):

Перевод из 16-ричной СС в 10 - C++
Здравствуйте, есть функция: void calc(int num,int base) { if (num == 0) return; int rem = num % base; if...

Алфавит 70-ричной системы счисления - C++
ПОмогите! К примеру я макс. могу использовать 36-ричную, и как сказано в википедии: вот такой вот алфавит... Но что если задача в 70...

Перевод из 6-ричной системы в десятичную - C++
На вход программе подается строка символов, оканчивающаяся точкой, и состоящая из ненулевого количества неотрицательных целых чисел,...

Функция перевода из 10-ричной СС в 80-ричную СС - C++
Здравствуйте, как реализовать функцию перевода из 10-ричной СС, в 80-ричную СС ? подход перевода должен быть такой же как и к...

Вывод числа в 16-ричной форме - C++
Пушу на Visual C++ Нужно вывести число (char) в Edit Control (с String переменной m_Edit) в 16-ом виде (0x01)... char temp...

Вывести символы ASCII в 16-ричной системе - C++
пытаюсь вывести из таблицы ASCII числа и буквы с помощью 16-ричной записи(Hex) но увы ничего не получилось. пытался еще число из таблица...

4
korep
52 / 45 / 9
Регистрация: 06.01.2013
Сообщений: 597
02.04.2013, 01:29 #2
посмотрите параметры "/буква" вероятно для вывода в 16-ричном виде необходимо ставить другую букву
0
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
02.04.2013, 01:30 #3
C++
1
cout<<array_1<<
так вы печатаете адрес первого элемента массива. нужно cout << array_1[i];
1
korep
52 / 45 / 9
Регистрация: 06.01.2013
Сообщений: 597
02.04.2013, 01:31 #4
на крайний случай формируйте не массив чисел в 16 виде, а массив ссылок и сортируйте адреса к ячейкам, так же может помочь
0
Boderman
3 / 3 / 3
Регистрация: 25.03.2013
Сообщений: 140
02.04.2013, 03:17  [ТС] #5
Цитата Сообщение от Venzo Посмотреть сообщение
C++
1
cout<<array_1<<
так вы печатаете адрес первого элемента массива. нужно cout << array_1[i];
Точно !!!! Спасибо большое !
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2013, 03:17
Привет! Вот еще темы с ответами:

Вывод отсортированного массива в 16-ричной системе - C++
есть массив заполненный делаю sort ....и хочу чтобы вывод был в 16-ричной системе,не получается((( sort(arr.begin(), arr.end()); p =...

Сложение чисел 11-ричной системы счисления - C++
Всем привет, нужно произвести операции сложения и вычитания чисел в одиннадцатиричной системе счисления. Допустим есть массив...

Как перевести число из 5-ричной в 9-ричную? - C++
Привет всем. Как перевести число из 5-ричной в 9-ричную? Число 2345 -&gt; ? 9

Палиндром записи числа в 16-ричной системе счисления - C++
Среди всех четырехзначных чисел найти числа, запись которых в 16-р системе исчисления представляет собой палиндром, и подсчитать количество...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
02.04.2013, 03:17
Ответ Создать тему
Опции темы

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