Показать сообщение отдельно

  #10  
Старый 02.06.2008, 01:58
klown
Новичок
Регистрация: 20.03.2008
Сообщений: 12
С нами: 9549668

Репутация: 8
По умолчанию

lab, первая задача на коленке
#include <iostream>
using namespace std;
/*
1.в одномерном массиве состоящем из n-целых элементов вычислить:
- минимальный по модулю элемент массива
- сумму модулей элементов массива расположенного после первого элемента равного 0
преобразовать массив таким образом чтобы в первой его половине располагались элементы стоявшие в четных позициях, а во второй половине - элементы, стоявшие в нечетных позициях
*/
int main()
{
const int n = 10;
int min;
int Array[n]={2,3,4,-5,-1,0,7,-4,9,-5};
min=Array[0];
int minIndex;
for(int i=1;i<n;i++)
{
if(Array[i]>0&&Array[i]<min)
{
min=Array[i];
minIndex=i;
}
else if (Array[i]<0&&(-Array[i]<min))
{
min = -Array[i];
minIndex=i;
}
}
int zeroIndex;
int summ=0;
for(int i=0;i<n;i++)
{
if(Array[i]==0)
{
zeroIndex=i;
break;
}
}
for(int i=zeroIndex;i<n;i++)
{
if(Array[i]>0)
summ+=Array[i];
else summ+=(-Array[i]);
}
int modifyArray[n]={0};
int k=0;
int m=n/2;
for(int i=0;i<n;i++)
{


if(i%2==0)
{

modifyArray[k] = Array[i];
k++;
}
else
{

modifyArray[m] = Array[i];
m++;
}
}
cout<<"Minimal number has index "<<minIndex<<" and it is "<<min<<endl;
cout<<"Summ is "<<summ<<endl;
for(int i=0;i<n;i++)
{
cout<<modifyArray[i]<<" ";
}
cout<<endl;
return 0;
}

Последний раз редактировалось klown; 02.06.2008 в 02:33..
 
Ответить с цитированием