#include <limits>
#include <locale>
#include <iostream>
#include <iomanip>
using namespace std;
void printArray(const wchar_t* const,const int* const,unsigned int);
int main()
{
locale::global(locale("rus_rus.866"));
// Вводим количество элементов массива
unsigned int N=0;
while(!N)
{
wcout<<L"Введите количество элементов массива:";
wcin>>N;
if(wcin.fail()||!N)
{
wcout<<L"Неверное значение"<<endl;
wcin.clear();
}
wcin.ignore(numeric_limits<streamsize>::max(),L'\n');
}
try
{
// Выделяем память
int *array=new int[N];
// Вводим массив
for(unsigned int i=0;i<N;i++)
{
while(true)
{
wcout<<L"Введите "<<i+1<<L"-й элемент:";
wcin>>array[i];
if(wcin.good())
{
wcin.ignore(numeric_limits<streamsize>::max(),L'\n');
break;
}
wcout<<L"Неверный ввод"<<endl;
wcin.clear();
wcin.ignore(numeric_limits<streamsize>::max(),L'\n');
}
}
printArray(L"Исходный массив:",array,N);
// Все по условию задачи
for(unsigned int i=1;i<N-1;i++)
array[i]+=array[abs(array[i]%2)*(N-1)];
printArray(L"Результирующий массив:",array,N);
delete []array;
}
catch (bad_alloc)
{
wcout<<L"Не могу выделить память для массива"<<endl;
}
system("PAUSE");
return 0;
}
// Процедура вывода массива на экран
void printArray(const wchar_t* const message,const int* const array,unsigned int length)
{
wcout<<message<<endl;
for(unsigned int i=0;i<length;i++)
wcout<<setw(9)<<array[i]<<L' ';
wcout<<endl;
}
Введите количество элементов массива:10
Введите 1-й элемент:2
Введите 2-й элемент:4
Введите 3-й элемент:2
Введите 4-й элемент:3
Введите 5-й элемент:5
Введите 6-й элемент:6
Введите 7-й элемент:7
Введите 8-й элемент:9
Введите 9-й элемент:0
Введите 10-й элемент:6
Исходный массив:
2 4 2 3 5 6 7 9
0 6
Результирующий массив:
2 6 4 9 11 8 13 15
2 6
#include <limits>
#include <locale>
#include <iostream>
#include <iomanip>
using namespace std;
void printArray(const wchar_t* const,const int* const,unsigned int);
int main()
{
locale::global(locale("rus_rus.866"));
// Вводим количество элементов массива
unsigned int N=0;
while(!N)
{
wcout<<L"Введите количество элементов массива:";
wcin>>N;
if(wcin.fail()||!N)
{
wcout<<L"Неверное значение"<<endl;
wcin.clear();
}
wcin.ignore(numeric_limits<streamsize>::max(),L'\n');
}
try
{
// Выделяем память
int *array=new int[N];
// Вводим массив
for(unsigned int i=0;i<N;i++)
{
while(true)
{
wcout<<L"Введите "<<i+1<<L"-й элемент:";
wcin>>array[i];
if(wcin.good())
{
wcin.ignore(numeric_limits<streamsize>::max(),L'\n');
break;
}
wcout<<L"Неверный ввод"<<endl;
wcin.clear();
wcin.ignore(numeric_limits<streamsize>::max(),L'\n');
}
}
printArray(L"Исходный массив:",array,N);
// Все по условию задачи
for(unsigned int i=1;i<N-1;i++)
array[i]+=array[abs(array[i]%2)*(N-1)];
printArray(L"Результирующий массив:",array,N);
delete []array;
}
catch (bad_alloc)
{
wcout<<L"Не могу выделить память для массива"<<endl;
}
system("PAUSE");
return 0;
}
// Процедура вывода массива на экран
void printArray(const wchar_t* const message,const int* const array,unsigned int length)
{
wcout<<message<<endl;
for(unsigned int i=0;i<length;i++)
wcout<<setw(9)<<array[i]<<L' ';
wcout<<endl;
}
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.