Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2011, 21:23   #1
alex22527
Пользователь
 
Регистрация: 07.10.2010
Сообщений: 24
По умолчанию С++

В одномерном массиве,состоящем из n вещественных элементов вычислить:
a)Сумму элементов массива с нечётными номерами.
б)Сумму элементов массива, расположенных между первым и последним отрицательными элементами.
в)Сжать массив, удалив из него элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями.

//L05
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include <stdio.h>
#include <iomanip.h>
void main()
{ int i,j,n;
randomize();
clrscr();
float s=0,x[50],a,c,q,r=0;
cout<<"\nVvedite n=";
cin>>n;
for(i=0;i<n;i++)
{ x[i]=(random(10)-3)/2.;
cout<<x[i]<<" ";
}
for(i=0;i<n;i++)
{ if(i%2!=0) s=s+x[i];
}
cout<<"\ns="<<s;
for(i=0;i<n-1;i++)
if(x[i]<0) q=i;
cout<<"\nq="<<q;
for(i=n-1;i>=0;i--)
if(x[i]<0) c=i;
cout<<"\nc="<<c;
for(i=c-1;i<q;i++) r=r+x[i];
cout<<"\nr="<<r<<endl;
for(i=0;i<n;i++)
{ if(fabs(x[i])<=1) x[i]=0; //Это условие заменяет все числа от -1 до 1 на 0.
}
for(i=0;i<n;i++)
if (x[i]!=0) {x[k]=x[i];k++;} // Здесь условие должно все нули передвигать вперёд.
cout<<setw(6)<<x[i];
getch();
}

Уменя неполучается сдвинуть нули вперёд,кто-нибудь видет ошибку,можете исправить

Последний раз редактировалось alex22527; 20.05.2011 в 06:53.
alex22527 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц