Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 07.04.2014, 20:34   #1
Анна Джулай
 
Регистрация: 07.04.2014
Сообщений: 5
Репутация: 10
Лампочка Одномерный массив. написать прогрмму на с++ нужна помощь

Написать программу, с помощью которой в одномерном массиве, состоящем из n комплексных чисел, вычислить:
1. максимальный по величине мнимой части элемент массива
2. сумму элементов массива, расположенных до последнего элемента с положительной действительной частью.
Сжать массив, удалив из него все элементы, модуль которых находится в
интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями. Размер массива задавать в режиме диалога. Массив заполнить случайными числами.

буду очень благодарна за помощь
Анна Джулай вне форума   Ответить с цитированием
Старый 08.04.2014, 03:29   #2
challengerr
Профессионал
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Адрес: Иркутск
Сообщений: 1,583
Репутация: 120
По умолчанию

Возможно так
Код:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <complex>

using namespace std;

int main()
{
int n, i, j, max, ia, ib;
complex<int> *a;
complex<int> sum;
double mod;

srand(time(0));
scanf("%d", &n);
a = new complex<int>[n];
sum._Val[_RE] = 0; sum._Val[_IM] = 0;

for(i=0;i<n;i++)
{
a[i]._Val[_RE] = rand()%9; a[i]._Val[_IM] = rand()%9;
printf("%d %d\n", a[i]._Val[_RE],a[i]._Val[_IM]);
}
max = a[0]._Val[_IM];
for(i=0;i<n;i++) if ( a[i]._Val[_IM] > max) max = a[i]._Val[_IM];
printf("%d\n", max);

for(i=0; a[i]._Val[_IM] >0 && i < n;i++) sum +=a[i];
printf("%d\n", sum);

ia = 3;
ib = 5;

for(i=0;i<n;i++)
{
mod = sqrt( pow((double)a[i]._Val[_IM], (double)2) + pow((double)a[i]._Val[_RE], (double)2));
if (mod >= ia && mod <= ib)
for(j=i;j<n-1;j++)
a[j] = a[j+1];
n--;
a[n] = 0;
}

delete []a;

return 0;
}
challengerr вне форума   Ответить с цитированием
Старый 11.05.2015, 18:06   #3
Анна Джулай
 
Регистрация: 07.04.2014
Сообщений: 5
Репутация: 10
По умолчанию

спасибо!!!
Анна Джулай вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста написать одномерный массив на с++ Me4nikov Помощь студентам 3 15.01.2014 18:26
Нужна помощь! Язык Си! Написать программы! fastflow Помощь студентам 1 15.12.2013 23:32
СРОЧно нужна помощь(одномерный массив)СРОЧНО, МОГУ заплатить. warsong Фриланс 12 11.01.2010 21:30


12:27.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.