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

Массив натуральных чисел - C++

Восстановить пароль Регистрация
 
zidans
0 / 0 / 0
Регистрация: 30.10.2010
Сообщений: 45
30.12.2010, 12:54     Массив натуральных чисел #1
Ребят, ну помогите, пожалуйста с программкой.

Упорядочить массив натуральных чисел по неубыванию следующим способом:
1. сначала числа сортируются по последней цифре
2. затем числа сортируются по предпоследней цифре
3. т.д.
Подсчитать количество умножений, делений, и перестановок элементов массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2010, 12:54     Массив натуральных чисел
Посмотрите здесь:

Упорядочить массив натуральных чисел по неубыванию следующим способом C++
Задан массив натуральных чисел X из 20 элементов. Удалить из него 2 наибольших и наименьших элемента. C++
Дан массив из четырёхзначных натуральных чисел C++
Дан массив натуральных чисел. Указать те, у которых остаток от деления на М равен L (0<L<M-1). C++
Дан массив из n натуральных чисел C++
Запись случайных натуральных чисел в линейный массив C++
C++ Дан массив состоящий из n натуральных чисел
Дан массив из N натуральных чисел. Определить количество степеней пятёрки C++
Дан массив натуральных чисел. Найти сумму элементов, кратных данному K C++
Сформировать массив натуральных чисел с M рядков и столбцов C++
C++ Массив: Задать радномно массив чисел (натуральных) от 0 до 10.
C++ Заполнить массив квадратами натуральных чисел в заданном диапазоне

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
04.01.2011, 02:47     Массив натуральных чисел #2
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
#include <iostream>
#include <cmath>
#define N 10
 
using namespace std;
 
int maximum(int *mass,int n)
{
  int k=mass[0];
  for(int i=1;i<n;i++) k=max(k,mass[i]);
  return k;
}
 
int figures(int *mass,int n)
{
  int i=0;
  int k=maximum(mass,n);
  while(k>0)
    {
      k/=10;
      i++;
    }
  return i;
}
 
void sorting(int* mass, int n, int& num_of_swap)
{
  int num=figures(mass,n);
  for(int k=1;k<pow(10,num);k*=10)
    {
      for(int i=0;i<n;i++)
    for(int j=i;j<n;j++)
      if(mass[i]/k%10>=mass[j]/k%10) 
        {
          swap(mass[i],mass[j]);
          num_of_swap++;
        }
        for(int i=0;i<N;i++) cout << mass[i] << " ";
    cout << endl;
    }
}
 
int main()
{
  int mass[N];
  int num_of_swap=0;
  for(int i=0;i<N;i++) 
    {
      int k=0;
      while(cin >> k && k==0)
    cout << "0 не является натуральным числом.Повторите ввод:\n";
      mass[i]= k;
    }
  sorting(mass, N,num_of_swap);
  
  cout << "Итоговый результат:";
  for(int i=0;i<N;i++) cout << mass[i] << " ";
  cout << endl << "Число перестановок:" << num_of_swap << endl;
  return 0;
}
Для наглядности сделал еще вывод промежуточных результатов сортировки(после завершения сортировки некоторой по цифре).
Вывод с консоли:
12 13 41 54 4 58 13 93 82 74
41 82 12 93 13 13 74 4 54 58
4 13 13 12 41 58 54 74 82 93
Итоговый результат:4 13 13 12 41 58 54 74 82 93
Число перестановок:69
Алгоритм 1 в 1 как вы написали: сортирует по последней цифре, затем по предпоследней.. и тд
Неясно откуда у вас в условии берутся умножения и деления.
Yandex
Объявления
04.01.2011, 02:47     Массив натуральных чисел
Ответ Создать тему
Опции темы

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