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

Все положительные элементы массива поставить в начало, а отрицательные - в конец - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача о прямоугольниках С++ http://www.cyberforum.ru/cpp-beginners/thread370504.html
Уважаемые форумчане,помогите решить следующую задачу На клеточном листе бумаги размером MхN расположены прямоугольники. Задан массив MхN в котором элемент a=1 если клетка листа (i,j) яв-ся частью прямоугольника, и a=0 если это пустая клетка. Напечатать число прямоугольников При этом матрица MxN записана в текстовом файле с расширением .in Количество прямоугольников выводится в текстовый...
C++ подскажите почему программа работает неправильно Использование двумерного массива как аргумента функции и возвращаемого значения функции выдает предупреждение:1>------ Build started: Project: Glushkov_double_massive_and_func, Configuration: Debug Win32 ------ 1> tredfy.cpp 1>f:\projects си++\glushkov_double_massive_and_func\glushkov_double_massive_and_func\tredfy.cpp(18): warning C4996: 'scanf': This function or variable may be unsafe.... http://www.cyberforum.ru/cpp-beginners/thread370478.html
C++ бинарные деревья
Вот у меня есть программа, которая создает бинарное дерево из массива целых чисел. #include <iostream> #include <conio.h> using namespace std; struct bin_tree { int value; bin_tree *left, *right; }*pHead = NULL; // óêàçàòåëü íà âåðøèíó ðàâåí íóëþ
C++ Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент
Задача с двумерным массивом на C (не C++). Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент. Характеристикой строки целочисленной матрицы назовем сумму ее отрицательных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик. Если кто знает, помогите, пожалуйста!
C++ Динамическое выделение памяти в dll http://www.cyberforum.ru/cpp-beginners/thread370440.html
Читая Рихтера наткнулся вот на такое замечание:NOTE: Важно понимать, что единое адресное пространство состоит из одного исполняемого модуля и нескольких DLL-модулей. Одни из них могут быть скомпонованы со статически подключаемой библиотекой С/С++, другие — с DLL-версией той же библиотеки, а третьи (написанные нс на С/С++) вообще ею не пользуются Многие разработчики допускают ошибку, забывая,...
C++ Транспонирование матрицы int _tmain(int argc, _TCHAR* argv) { const int n=5; int a; srand(GetTickCount()); for (int i=0; i < n; i++) for (int j=0; j < n; j++) a=rand()%10; for (int i=0;i<n;i++) { подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.10.2011, 09:36     Все положительные элементы массива поставить в начало, а отрицательные - в конец
Если за один проход, то правильно сформулировать надо так: все неотрицательные в начало, а все отрицательные в конец.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Transform(double *a, int n)
{
   int i = 0, j = n - 1;
   double buf;
   while(i < j)
   {
      while(i < j && a[i] >= 0)
         i++;
      while(i < j && a[j] < 0)
         j--;
      if (i < j)
      {
          buf = a[i]; a[i] = a[j]; a[j] = buf;
          i++; j--;
      }
   }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru