Форум программистов, компьютерный форум CyberForum.ru

Вычислить сумму модулей элементов массива - C++

Восстановить пароль Регистрация
 
ToHuK13
3 / 3 / 1
Регистрация: 20.05.2009
Сообщений: 70
08.01.2010, 22:23     Вычислить сумму модулей элементов массива #1
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
• номер минимального по модулю элемента массива;
• сумму модулей элементов массива, расположенных после первого отрицательного элемента.
Сжать массив, удалив из него все элементы, величина которых находится в интервале [а, Ь]. Освободившиеся в конце массива элементы заполнить нулями.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2010, 22:23     Вычислить сумму модулей элементов массива
Посмотрите здесь:

в непомерном массиве состоящем из n элементов вычислить сумму модулей элементов массива делящихся на три C++
C++ Найти в массиве значение и вывести его индекс на экран, вычислить сумму модулей элементов массива
Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного C++
C++ Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного
Вычислить сумму модулей элементов массива, расположенных после первого нулевого элемента C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
08.01.2010, 22:29     Вычислить сумму модулей элементов массива #2
ToHuK13, Где что неясно?
Как мы ищем минимальный по модулю?
C++
1
2
3
4
5
6
7
min=A[0];
for (int i=0;i<N;i++)
if (abs(A[i]<min) 
{
  min=A[i];
  ind=i;
}
ind И будет номером.

Второе задание ничуть не сложнее.
Вы, кстати, только скажите - если захотите, чтобы я с 0 напишу - я, конечно же, напишу, но вот выгода будет ли Вам?
ToHuK13
3 / 3 / 1
Регистрация: 20.05.2009
Сообщений: 70
08.01.2010, 22:47  [ТС]     Вычислить сумму модулей элементов массива #3
эм..спасибо
было бы не плохо если продолжил..)
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
08.01.2010, 22:55     Вычислить сумму модулей элементов массива #4
Без проблем.
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define N 15
int main()
{
srand((unsigned)time(0));
  int A[N],min=0,ind=0;
  for (int i=0;i<N;i++)
  {
  A[i]=rand()%102;
  cout<<A[i]<<" ";
      if (i==0) min=A[i];
      if (abs(A[i])<min)
      {
        min=A[i];
        ind=i;
      }
  }
  cout<<"\nИндекс |минимального|: "<<ind;
}
Добавлено через 3 минуты
2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define N 15
int main()
//сумму модулей элементов массива, расположенных после первого отрицательного элемента
{
srand((unsigned)time(0));
  int A[N],flag=0,ind=0,sum=0;
  for (int i=0;i<N;i++)
  {
    A[i]=rand()%102-52;
    cout<<A[i]<<" ";
      if (flag==0 && A[i]<0)
      {
          ind=i;
          flag++;
      }
  }
  for (int i=ind;i<N;i++)
       sum+=abs(A[i]);
  cout<<"\nСумма модулей, после первого < 0: "<<sum;
}
ToHuK13
3 / 3 / 1
Регистрация: 20.05.2009
Сообщений: 70
08.01.2010, 22:58  [ТС]     Вычислить сумму модулей элементов массива #5
еще раз тысячу благодарностей...
может эти задачи и не так сложны..просто завтра последний срок сдачи лабораторных
они мне очень нужны.. спасибо за помощь..
я стану умнее ! )
Rififi
 Аватар для Rififi
2330 / 1045 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
08.01.2010, 22:58     Вычислить сумму модулей элементов массива #6
ToHuK13,

было бы не плохо если продолжил..)
да лехко!

для Visual Studio 2010

• номер минимального по модулю элемента массива;

C++
1
2
3
4
int arr[] = {...};
const size_t N = sizeof(arr) / sizeof(arr[0]);
 
int min = *std::min_element(arr, arr+N, [](int a, int b) { return abs(a) < abs(b); });

• сумму модулей элементов массива, расположенных после первого отрицательного элемента.

C++
1
2
3
std::accumulate(
++std::find_if(arr, arr+N, [](int i) { return i<0; }),
arr+N, 0, [](int a, int b) { return a + abs(b); });
(без проверки)

• Сжать массив ...

сжать массив нельзя.
ToHuK13
3 / 3 / 1
Регистрация: 20.05.2009
Сообщений: 70
08.01.2010, 23:06  [ТС]     Вычислить сумму модулей элементов массива #7
Благодарю )
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
08.01.2010, 23:21     Вычислить сумму модулей элементов массива #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*Сжать массив, удалив из него все элементы, величина которых
 находится в интервале [а, Ь]. Освободившиеся
 в конце массива элементы заполнить нулями.*/
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define N 10
int main()
{
srand((unsigned)time(0));
  static int a,b,A[N],B[N],q=0;
  cout<<"Massiv: "<<endl;
  for (int i=0;i<N;i++)
  {
    A[i]=rand()%101;
    cout<<A[i]<<" ";
  }
  cout<<"\nВведите границы отрезка: ";
  cin>>a>>b;
  for (int i=0;i<N;i++)
  {
      if (A[i]<=a || A[i]>=b)
      {
          B[q]=A[i];
          q++;
      }
  }
  cout<<endl<<"Itog: "<<endl;
    for (int i=0;i<N;i++)
         cout<<B[i]<<" ";
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2010, 23:30     Вычислить сумму модулей элементов массива
Еще ссылки по теме:

Вычислить сумму модулей элементов массива, расположенных после минимального по модулю элемента C++
C++ Вычислить сумму модулей элементов массива, расположенных после первого элемента, равного нулю
C++ Вычислить сумму модулей элементов массива

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Андрейка
410 / 214 / 24
Регистрация: 25.03.2009
Сообщений: 717
08.01.2010, 23:30     Вычислить сумму модулей элементов массива #9
Rififi, в универе сразу изучают лямбда выражения)
Yandex
Объявления
08.01.2010, 23:30     Вычислить сумму модулей элементов массива
Ответ Создать тему
Опции темы

Текущее время: 17:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru