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

Перестановка чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать структуру с именем STUDENT на C/C++ http://www.cyberforum.ru/cpp-beginners/thread265719.html
Доброго времени суток. Уважаемые программисты помогите пожалуйста решить задачу. Заранее спасибо! Задача: Описать структуру с именем STUDENT, содержащую следующие поля: ■ фамилия и инициалы; ■ номер группы; ■ успеваемость (массив из пяти элементов). 2. Написать программу, выполняющую следующие действия: ■ ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT;...
C++ Удалить все символы в строке не являющимися буквами Удалить все символы в строке не являющимися буквами, а также заменить множественные пробелы одним. Причем удаление Цифр, и Замена пробелов сделать отдельными циклами http://www.cyberforum.ru/cpp-beginners/thread265706.html
C++ блок -схема правельная ??
#include "stdafx.h" #include <iostream> using namespace std; bool simpl(int x) { for (int i=2; i<=(x/2);i++) { if (!(x%i)) {
Прокоментируй простинький код C++
#include "stdafx.h" #include <iostream> using namespace std; bool simpl(int x) { for (int i=2; i<=(x/2);i++) { if (!(x%i)) {
C++ Аргуметы функции http://www.cyberforum.ru/cpp-beginners/thread265672.html
Можно ли в С++ изпользовать в качестве аргумента функции массив? Например, функция вычисляющая определитель матрицы 3х3 и возращающая его в integer. Так можно ли в качестве аргумента этой функции задать известную матрицу 3х3? Что-нибудь вроде: D=n3x3(nLesserMinor); где nLesserMinor является матрицей 3х3
C++ Бесконечный вызов дестркутора для глобального объекта Наткнулся в книге на такую задачу - "деструктор класса содержит ф-цию exit(), создайте глобальный объект класса и посмотрите, что произойдет." И ни каких объяснений... Обычный код: #include <iostream> #include <cstdlib> class My{ public: ~My(){ std::cout<<"Destructor"<<endl; exit(0); } подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
28.03.2011, 22:04     Перестановка чисел
Если на просто Си, то можно как-то так
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
61
62
63
64
65
66
67
68
69
70
71
72
#include <stdio.h>
 
size_t _length(char *first)
{
  size_t len = 0;
  while(*first++ != '\0')
    ++len;
 
  return len;
}
 
void _swap(char *a, char *b)
{
  char c = *a;
  *a = *b;
  *b = c;
}
 
void _reverse(char *first, char *last)
{
  size_t len = _length(first);
  --last;
  for(int i = 0; i < len / 2; ++i)
    _swap(first++, last--);
}
 
int _next_permutation(char *first, char *last)
{
  if (first == last)
    return 0;
  char *i = first;
  ++i;
  if (i == last)
    return 1;
  i = last;
  --i;
 
  for(;;)
  {
    char *ii = i;
    --i;
    if (*i < *ii)
    {
      char *j = last;
      while (!(*i < *--j)){}
      _swap(i, j);
      _reverse(ii, last);
      return 1;
    }
    if (i == first)
    {
      _reverse(first, last);
      return 0;
    }
  }
}
 
int main(){
  char a[BUFSIZ];
  size_t n = 0, i, j = 0;
  printf("n = ");
  scanf("%u", &n);
  for(i = 1; i <= n; ++i)
    a[j++] = i + '0';
  size_t len = _length(a);
  do{
    for(int i = 0; i < len; ++i)
      printf("%c ", a[i]);
    printf("\n");
  }while(_next_permutation(a, a + len));
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru