Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
4 / 4 / 4
Регистрация: 25.03.2013
Сообщений: 140
1

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

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

Author24 — интернет-сервис помощи студентам
Народ подскажите в чом может быть проблема ?

Задание :Дан массив чисел размерностью 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2013, 01:22
Ответы с готовыми решениями:

Выписать алфавиты 2-ичной, 5-ричной, 8-ричной, 16-ричной систем счисления
Выписать алфавиты 2-ичной, 5-ричной, 8-ричной, 16-ричной систем счисления.

делаю калькулятор перевода между системами от 2х-ричной до 16ти-ричной
при выполнении каждый элемент массива inputI приравнивается к -8 с лишним миллионам. почему и как...

сделать сложения двух чисел (одно в троичной системе второе в 8-ричной) и вывести результат в 8-ричной
Привет всем, сегодня столкнулся с такой вот задачей, нужно сделать сложения двух чисел (одно в...

Из 256-ричной СС в 10-ю
Есть число, 512 байт, его нужно перевести в десятичное представление(строка), но я никак не могу...

4
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
02.04.2013, 01:29 2
посмотрите параметры "/буква" вероятно для вывода в 16-ричном виде необходимо ставить другую букву
0
127 / 125 / 16
Регистрация: 03.07.2011
Сообщений: 354
02.04.2013, 01:30 3
C++
1
cout<<array_1<<
так вы печатаете адрес первого элемента массива. нужно cout << array_1[i];
1
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
02.04.2013, 01:31 4
на крайний случай формируйте не массив чисел в 16 виде, а массив ссылок и сортируйте адреса к ячейкам, так же может помочь
0
4 / 4 / 4
Регистрация: 25.03.2013
Сообщений: 140
02.04.2013, 03:17  [ТС] 5
Цитата Сообщение от Venzo Посмотреть сообщение
C++
1
cout<<array_1<<
так вы печатаете адрес первого элемента массива. нужно cout << array_1[i];
Точно !!!! Спасибо большое !
0
02.04.2013, 03:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2013, 03:17
Помогаю со студенческими работами здесь

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

Перевод до 16 ричной СС
Надо реализовать перевод из любой СС в любую СС (до 16-ричной) Есть код (Данный ниже). Он...

Перевод из 16-ричной с/с в 10/8/2 с/с
Здравствуйте! Помогите, пожалуйста, со следующей задачей: С клавиатуры вводится 3-значное...

Перевод из 10-ричной в 8-ричную!
Доброго времени суток! Помогите решить задачку! Напишите программу, которая проверяет вторую...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru