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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2009, 14:06   #1
kolashik
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 16
Вопрос С++ не могу дописать

Задание:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:

1. сумму элементов массива с нечетными номерами;
2. сумму элементов массива, расположенных между первым и
последним отрицательными элементами;

3. Сжать массив, удалив из него все элементы, модуль которых не превышает 1.
Освободившиеся в конце массива элементы заполнить нулями.
--------------------------------------------------------------------+
Первые два сделал, не могу сделать 3-ие.
Помогите пожалуйста....
И если не сложно то поставте третие задание в программу, а то плохо представляю, как это сделать=))



Код:

#include <iostream>
#include <ctime>

using namespace std;

int main()
{
    int sum = 0;
    int num;
    int n; // n вещественных элементов в массиве
    cout << "Please type number of float number of array : ";
    cin >> n;
    int array[n];
    srand((unsigned)time(NULL));
    for (num=0; num < n;num++) //Рендомизация массива ( заполнение в диапозоне не больше 1000)
    {
        array[num] =  rand()% 1000 - 500;
        cout << " | " << array[num] << " | ";
    }     
    cout << "\nArray was randomized...\n";
    cout << "\n1) Sum of elements : ";
    for(num=0;num <= n ;num=num+2) //Сумма всех нечетных элементов
        sum = sum + array[num];
    cout << sum << "\n";
    cout << "\n2) Sum of elements between first and last negative numbers of array: "; //Сумма всех чисел между первым и последним отриц. элементами
    int i,j,s;
    int nsum[n];
    for(num=0;num <= n; num++)
    {
        if(array[num] < 0)
        {
                      j = num;
                      for(num=num; num <= n;num++)
                      {
                                   if(array[num] < 0)
                                   {      
                                   i = num;
                                   }
                      } 
        }
    }  
    sum = 0;                                 
    for(num=j+1; num < i;num++)
    {
               s++;
               nsum[s] = array[num];
               sum = sum + nsum[s];
    }
    cout <<  sum <<"\n";
    system("pause");
    return 0;
kolashik вне форума Ответить с цитированием
Старый 31.10.2009, 17:40   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
int array[n];
Цитата:
int nsum[n];
И что? Работает массив, состоящий из n вещественных элементов ?

3.
Код:
#include <iostream>
#include <conio.h>
#include <ctime>
#include <cmath>

using namespace std;

void main()
{
	float *mas,n;

	cout<<"N = ";
	cin>>n;

	mas=new float[n];
	srand(time(0));
	for(int i=0;i<n;i++)
	{
		mas[i]=-5+(float)(rand()%100)/10;
		cout<<mas[i]<<" ";
	}

	int k=0,h=0;
	for(int i=0;i<n-k;i++)
	{
		if(fabs(mas[i])<1)
		{
			for(int j=i;(j+1)<n;j++)
			{
				mas[j]=mas[j+1];
			}
			h=n-k-1;
			mas[h]=(float)0;
			k++;
			i--;
		}
	}

	cout<<"\n\n";
	for(int i=0;i<n;i++)
		cout<<mas[i]<<" ";

	_getch();
}
counter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ассемблер, не могу дописать... blackbanny Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 14 05.10.2009 13:32
Не могу всё никак не могу эту лабораторку сдать помогите плиз Dimon.ru Паскаль, Turbo Pascal, PascalABC.NET 2 16.06.2009 20:53
Помогите дописать программу на Delphi 7 не могу понять что здесь не так matrix8325 Помощь студентам 1 30.04.2009 23:34
Дописать... Lemo Помощь студентам 14 14.10.2008 20:49
Помогите дописать Klyan Общие вопросы C/C++ 8 22.06.2007 01:55