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

Последовательность n чисел. - C++

Восстановить пароль Регистрация
 
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
21.09.2010, 18:41     Последовательность n чисел. #1
Задана последовательность n чисел, равных 0,1,2. Расположить сначала все 1, потом 0, потом 2, не используя сравнения.
Как такое реализовать?..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2010, 18:41     Последовательность n чисел.
Посмотрите здесь:

C++ Задана последовательность из n чисел. Найти количество чисел больше своего номера
C++ Имеется последовательность чисел содержащая n элементов определить количество четных чисел в последовательности.
Дана последовательность чисел. Найти количество различных чисел в этой последовательности C++
Дана последовательность чисел. Найти количество различных чисел в этой последовательности C++
C++ Заданная последовательность целых чисел. Найти количество чисел, делящихся на 3 и 5 без остатка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
21.09.2010, 19:19     Последовательность n чисел. #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
#define N 12
 
int main()
{
    int mas[N] = {2, 2, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0};
    int n0 = 0, n1 = 0, n2 = 0;
    int i;
 
    for (i = 0; i < N; i++)
        (mas[i] == 0) ? n0++ : ((mas[i] == 1) ? n1++ : n2++);
 
    printf("Zero: %d\nOne: %d\nTwo: %d", n0, n1, n2);
 
    getch();
    return 0;
}
CyBOSSeR
21.09.2010, 19:20
  #3

Не по теме:

silent_1991, нарушаете условия задачи о сравнениях

silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
21.09.2010, 19:22     Последовательность n чисел. #4
CyBOSSeR,
Ах ты чёрт, я почему-то подумал, что ифы нельзя использовать... Ё-моё, а как тут без сравнений?..
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.09.2010, 19:33     Последовательность n чисел. #5
Цитата Сообщение от silent_1991 Посмотреть сообщение
Ё-моё, а как тут без сравнений?
Например так (сильно код не ругать):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main() {
        int arr[] = { 0, 1, 2, 1, 1, 2, 0, 0 };
  const int size  = sizeof(arr) / sizeof(arr[0]);
  
  int count[] = { 0, 0, 0 };
  for (int i = 0; i < size; ++i)
    ++count[arr[i]];
  
  const int sequence[] = { 1, 0, 2 };
  
  int idx = 0;
  for (int i = 0; i < static_cast<int>(sizeof(sequence) / sizeof(sequence[0])); ++i)
    for (int j = 0; j < count[sequence[i]]; ++j, ++idx)
      arr[idx] = sequence[i];
  
  for (int i = 0; i < size; ++i)
    std::cout << arr[i] << " " << std::endl;
    
  return 0;
}
Yandex
Объявления
21.09.2010, 19:33     Последовательность n чисел.
Ответ Создать тему
Опции темы

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