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

Упорядочить элементы массива по модулю - C++

Восстановить пароль Регистрация
 
Xazadyn
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 2
09.12.2013, 22:32     Упорядочить элементы массива по модулю #1
Задан Массив H(n) целых чисел. Если массив является
знакочередующимся, то упорядочить его в порядке возрастания модулей,
если нет, то упорядочить его по убыванию. После преобразования удалить
из массива все простые числа. Вывести массив до и после преобразований.


Находил похожую задачу в поиске, но там не приняли потому что по модулям не упорядочивает.
Буду благодарен, если напишите хотя бы программу которая задает массив H(n) и упорядочивает его по модулю.
за помощь +100 к карме.
Студент не спал 2-е суток. Получил все зачеты кроме программирования, осталась 1 задача.

Добавлено через 21 минуту
Или решите задачу

>Задан массив Х(т) целых чисел. Поменять местами в массиве последнее
простое число и первое совершенное. Предусмотреть случай, что массив
может не содержать простых и совершенных чисел. Удалить из массива
все четные числа.

вот код, почему то жалуется на stdafx.h

#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "time.h"
using namespace std;

void rand_(int *arr, int n)
{
srand(time(NULL));
for(int i = 0; i < n; i++)
*(arr + i) = rand()% 9 + 1;
}

void print(int *arr, int n)
{
for(int i = 0; i < n; i++)
cout << *(arr + i) << " ";
}

bool pr(int n)
{
for(int i = 2; i < n; i++)
{
if(n % i == 0)
return false;
}
return true;
}
//--------------------------------------------------
bool sov(int n)
{
int sum = 0;
for(int i = 1; i < n; i++)
{
if(n % i == 0)
sum += i;
}
if(sum == n)
return true;
return false;
}
//--------------------------------------------------

int _tmain(int argc, _TCHAR* argv[])
{
setlocale(0,"");
int n = 0, *arr;
cout << "??????? ?????? ???????: ";
cin >> n;
arr = new int[n];
cout << "\n\n?????? ????? ???: ";
rand_(arr,n);
print(arr,n);
int index_sov = 0, i;
for(i = 0; i < n; i++)
{
if(sov(arr[i]))
{
index_sov = i;
break;
}
}
if(i == n)
cout << "\n\n??????????? ????? ?? ????????!";
else
{
int j = 0, index_pr = 0;
for(j = n - 1; j >= 0; j--)
{
if(pr(arr[j]))
{
index_pr = j;
break;
}
}
if(j == n)
cout << "\n\n??????? ????? ?? ????????????!";
else
{
int t = arr[index_sov];
arr[index_sov] = arr[index_pr];
arr[index_pr] = t;
cout << "\n\n????? ?????? ?????? ????? ???: ";
print(arr,n);
}
}
cout << "\n\n????? ???????? ?????? ????????? ?????? ???????? ???: ";
for(int i = 1; i < n; i += 2)
cout << *(arr + i) << " ";
delete []arr;
_getch();
return 0;
}
[/CPPQT][/CPPQT]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2013, 22:32     Упорядочить элементы массива по модулю
Посмотрите здесь:

Найти минимальный и максимальный элементы массива и упорядочить элементы по убыванию, стоящие между ними, методом «пузырька». C++
C++ Упорядочить элементы массива по возрастанию
Упорядочить элементы массива Z по убыванию C++
Упорядочить элементы массива, располагая в первой его половине элементы, стоявшие на четных позициях C++
C++ Массив. Найти максимальный и минимальный по модулю элементы массива
Упорядочить элементы массива C++
C++ Упорядочить элементы строк массива
Упорядочить элементы массива по убыванию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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