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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.85
Джонн
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 13
#1

Массивы: поставить в начало последовательности нули, а затем единицы - C++

31.05.2012, 07:59. Просмотров 2638. Ответов 2
Метки нет (Все метки)

(Массив)Последовательность a1, a2, …an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.

(Массив)Дана вещественная матрица А размерности n х m. Определить k — количество "особых" элементов массива А, считая его элемент особым, если он больше суммы остальных элементов его столбца.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2012, 07:59     Массивы: поставить в начало последовательности нули, а затем единицы
Посмотрите здесь:

Поставить в начало последовательности нули, а затем единицы. - C++
Последовательность а1, а2,..., аn, состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.

Поставить в начало последовательности нули, а затем единицы - C++
1 Последовательность a1; a2; ...; an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.

Поставьте в начало этой последовательности нули, а затем единицы. Подсчитайте количество нулей и единиц - C++
Создайте одномерный массив, представляющий собой последовательность из нулей и единиц (через функции формирования случайного числа)....

Переставить элементы массива так, чтобы сначала располагались все нули, затем все двойки и, наконец, все единицы - C++
Добрый день ! У меня к вам просьба. Помогите решить задачу по с++ начинающему чайнику. :wall: Задача. В массиве A(N) каждый...

Последовательность а1, а2,., а n состоит из нулей и единиц. Поставить в начало этой последовательности нул - C++
Для решения задачи разработать следующие функции: – функцию ввода n элементов массива; – функцию вывода n элементов массива; –...

Распознать нули и единицы - C++
Помогите написать задачку, очень надо)) 00010001110 это условие 00010001010 00010001010 00010001110 и вот, что должно...

Вывести в двоичном виде нули и единицы 01010110001 - C++
Не понимаю почему не выводится буфер в двоичном виде, да и флаг tellg() равен -1 в конце программы.. Помогите пожалуйста. Цель,...

Сформировать массив В, элементами которого являются нули и единицы - C++
В файле F матрица действительных чисел размером 3 * 6. Сформировать массив В, элементами которого являются нули и единицы. b = 1 Если все...

Заменить в тексте все нули единицами, а единицы нулями - C++
Заменить в тексте все нули единицами, а единицы нулями, начиная с позиции, в которой количество предшествующих. У меня есть начало...

Расположить элементы массива так, чтобы нули было в начале, а единицы в конце - C++
Дан массив, состоящий из нулей и единиц, нужно расположить элементы массива так, чтобы нули было в начале, а единицы в конце.

Дано целое число N и набор из N целых чисел, содержащий только нули и единицы. - C++
Дано целое число N и набор из N целых чисел, содержащий только нули и единицы. Найти номер элемента, с которого начинается самая длинная...

Переставить нули и двойки в начало массива - C++
Собственно решение у меня есть, но я не понимаю этого кода, можете пожалуйста объяснить, что делает каждая строчка или команда. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
31.05.2012, 08:10     Массивы: поставить в начало последовательности нули, а затем единицы #2
(Массив)Последовательность a1, a2, …an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const int count =5;
 
int trash;
int pArr[count] = { 1,1,1,0,0 };
 
for (int i = 0; i < count; i++)
  for (int j=0; j < count-i-1; j++) 
   if (pArr[j] > pArr[j+1])
    {
     trash = pArr[j]; 
     pArr[j] = pArr[j+1];
     pArr[j+1] = trash;
    }
 
   for(i=0; i<count; i++)
   {
       cout << pArr[i] << " " << endl;
   }
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
31.05.2012, 08:28     Массивы: поставить в начало последовательности нули, а затем единицы #3
Цитата Сообщение от Джонн Посмотреть сообщение
(Массив)Последовательность a1, a2, …an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.
Здесь два варианта: сосчитать ноли (или единицы) и заполнить двумя циклами с общим счётчиком, или отсортировать по возрастанию. Сортировку мудрено сделать с линейной зависимостью, а счёт даст именно линейную. Поэтому
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void bisort(int *a; int n)
{
 int count, *p;
 for (count=0, p=a+n-1; p>=a; --p)
 {
  if (*p==1)
  {
   ++count;
  }
 }
 for (p=a+n-1; count>0; --p, --count)
 {
  *p=1;
 }
 for (; p>=a; --p)
 {
  *p=0;
 }
}
. Только если ты даже такой примитив не мог сделать сам давным давно, то он тебе уже не поможет.

Добавлено через 12 минут
Цитата Сообщение от Джонн Посмотреть сообщение
(Массив)Дана вещественная матрица А размерности n х m. Определить k — количество "особых" элементов массива А, считая его элемент особым, если он больше суммы остальных элементов его столбца.
Хоть на что то похоже.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int count(float **a, int rows, int collumns)
{
 int r, int collumn, row;
 float s;
 for (r=0, collumn=collumns-1; collumn>=0; --collumn)
 {
  for (s=0.0f, row=rows-1; row>=0; --row)
  {
   s+=a[row][collumn];
  }
  for (row=rows-1; row>=0; --row)
  {
   if (a[row][collumn]>s)
   {
    ++r;
   }
  }
 }
 return r;
}
. Но и то в день зачёта ты должен это уметь, иначе не поможет.
Ответ Создать тему
Опции темы

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