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

Цифры по возрастанию(функция) - C++

Восстановить пароль Регистрация
 
Manqnian
0 / 0 / 0
Регистрация: 25.02.2011
Сообщений: 25
18.03.2011, 21:15     Цифры по возрастанию(функция) #1
Задача в виде перегрузки функции и в виде адреса(отдельно). Задача следующая:
Напишите программу, которая сортирует цифры числа по возрастанию.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2011, 21:15     Цифры по возрастанию(функция)
Посмотрите здесь:

C++ Функция удаляет цифры из числа - как вам?
ввести нзначное число! Разбить на цифры и упорядочить по возрастанию. C++
C++ Задача( составить программу, которая определяет верно ли что в заданном числе все цифры стоят по возрастанию)
C++ Функция, сортирующая сначала нечетные числа в массиве по возрастанию, а потом четные по убыванию.
C++ Напишите программу, которая определяет, упорядочены ли цифры числа по возрастанию
C++ Определить, упорядочены ли по возрастанию или по убыванию цифры в записи натурального n
C++ Дано натуральное n. Определить, упорядочены ли по возрастанию или по убыванию цифры в записи этого числа
C++ Функция сортирующая первую половину массива по убыванию, а вторую - по возрастанию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
18.03.2011, 21:39     Цифры по возрастанию(функция) #2
Цитата Сообщение от Manqnian Посмотреть сообщение
Напишите программу, которая сортирует цифры числа по возрастанию.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <cstdlib>
 
void sort_num(int &num){
  std::ostringstream ost;
  ost << num;
  std::string num_str = ost.str();
  std::sort(num_str.begin(), num_str.end());
  num = atoi(num_str.c_str());
}
 
int main(){
  int num = 54321;
  sort_num(num);
  std::cout << num << std::endl;
  return 0;
}
Добавлено через 14 минут
Если на С
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define SWAP(a,b) {a=a^b; b=a^b; a=a^b;}
 
void sort_arr(int *a, const size_t length){
  int i, j;
  for(i = 0; i < length; ++i)
    for(j = i; j < length; ++j)
      if(a[i] > a[j])
        SWAP(a[i], a[j]);
}
 
size_t cnt_dig(int num){
  size_t cnt = 1;
  for(; num /= 10; ++cnt);
  return cnt;
}
 
void sort_num(int *num){
  size_t cnt = cnt_dig(*num);
  int *arr = (int*)malloc(sizeof(int) * cnt), i;
  for(i = 0; i < cnt; ++i){
    arr[i] = *num % 10;
    *num /= 10;
  }
  sort_arr(arr, cnt);
  *num = 0;
  for(int i = 0; i < cnt; ++i)
    *num = *num * 10 + arr[i];
}
 
int main(){
  int num = 54321;
  sort_num(&num);
  printf("%d", num);
  return 0;
}
Manqnian
0 / 0 / 0
Регистрация: 25.02.2011
Сообщений: 25
18.03.2011, 21:43  [ТС]     Цифры по возрастанию(функция) #3
нет на С++, вот я смотрю, логика понятна, но не знаю можно ли в виде массива параметр дать, и сравнивать(как можно проще, используя лишь iostream.h и conio.h для задержки)
Yandex
Объявления
18.03.2011, 21:43     Цифры по возрастанию(функция)
Ответ Создать тему
Опции темы

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