
02.06.2008, 01:58
|
|
Новичок
Регистрация: 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..
|
|
|