Вопрос по информатике:
2. Ввести в массив n произвольных чисел (n<=30) Отсортировать отрицательные по убыванию, положительные – по возрастанию, оставив отрицательные на местах, принадлежащих отрицательным, а положительные – на местах, принадлежащих положительным. Вывести на экран исходный и полученный массивы. Дополнительных массивов не использовать.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 20.06.2018 20:57
- Информатика
- remove_red_eye 6004
- thumb_up 10
Ответы и объяснения 1
В C++ работает этот код. Других языков практически не знаю.
#include
int main()
{
using namespace std;
const int n = 8;
double Arr[n] = { 122.3, 11.4, -34.2, 17.8, -25.5, -54, 34, -43};
for (int i = 0; i < n; ++i)
cout << Arr[i] << " ";
cout << endl;
double max, min;
for (int i = 0; i < n; ++i)
{
if (Arr[i] < 0)
{
int inegmax = i;
for (int j = i; j < n; ++j)
if (Arr[j] < 0)
if (Arr[j] >= Arr[inegmax])
inegmax = j;
max = Arr[inegmax];
Arr[inegmax] = Arr[i];
Arr[i] = max;
}
else
{
int iposmin = i;
for (int j = i; j < n; ++j)
if (Arr[j] >= 0)
if (Arr[j] < Arr[iposmin])
iposmin = j;
min = Arr[iposmin];
Arr[iposmin] = Arr[i];
Arr[i] = min;
}
}
for (int i = 0; i < n; ++i)
cout << Arr[i] << " ";
cout << endl;
return 0;
}
- 21.06.2018 02:40
- thumb_up 46
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.