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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Строки, надо решить http://www.cyberforum.ru/cpp-beginners/thread222694.html
через пол часа идти к преподу...сказал одну задачу сделаю-зачет поставит.... вот задача сама : (С++) В заданной строке символы стоящие на четных позициях заменить строкой "000"
C++ Создать динамическую записную книжку, используя структуру Создать динамическую записную книжку, используя структуру struct book{ char name; char phone; book *next; }; http://www.cyberforum.ru/cpp-beginners/thread222690.html
Подсчёт количества знаков препинания в строке C++
Здравствуйте. Помогите пожалуйста написать простейший алгоритм подсчёта количества знаков препинания в строке. C#. Заранее спасибо
C++ Гренератор псевдослучайных действительных чисел
dSFMT напрямую генерирует вещественные (double) псевдослучайные числа.. Не подскажите ли идею алгоритма такого генератора? Мне кроме деления целого действительного числа ничего в голову не лезет, но не прямой алгоритм.
C++ Функция: Переписать в одномерный массив элементы четных столбцов, значения которых меньше 1 http://www.cyberforum.ru/cpp-beginners/thread222649.html
Дана матрица. Переписать в одномерный массив элементы четных столбцов, значения которых меньше 1. Оформить в виде функции.
C++ Контрольная, пожалуйста!!! Ребята, прошу перепишите через <stdio.h> . Не представляете как нужно! #include <conio.h> #include<iostream> using namespace std; void show(int e){ cout<<e<<" "; } int main() подробнее

Показать сообщение отдельно
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
04.01.2011, 02:47     Массив натуральных чисел
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 как вы написали: сортирует по последней цифре, затем по предпоследней.. и тд
Неясно откуда у вас в условии берутся умножения и деления.
 
Текущее время: 08:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru