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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу решения квадратного уравнения. http://www.cyberforum.ru/cpp-beginners/thread365595.html
Всем привет! Ребят, прошу помощи. помогите пожалуйста написать программу: Написать программу решения квадратного уравнения. программа должна проверять правильность исходных данных (коэффициент при второй степени неизвестного не должен быть равен нулю) и знак дискриминанта (при D <0 уровнение корней не имеет). написать программу, используя средства ввода/вывода языка C++. заранее большое...
C++ double округление с точность до N знаков Добрый день, помогите пожалуста какую надо использовать функцию чтобы была возможность округлить значение числа double с точностью до N знаков, при расчетах заранее не известно необходимая точность, а только в момент округления я знаю только метод (double x *1000 /1000) но здесь уже задается изначальная точность округления в 3 знака http://www.cyberforum.ru/cpp-beginners/thread365561.html
C++ Создать программу. для вычисления суммы ряда
Создать программу. для вычисления суммы ряда с точностью 0.00001 и сумму первых k слагаемых ряда. Слагаемые ряда вычисляются по формуле. Воспользоваться оператором цикла с предусловием. {a}_{n}=({-1}^{n})(1-\frac{2n-1}{2(n+1)}) Добавлено через 23 часа 45 минут тема актуальная
Скопировать двумерный массив в одномерный массив из 50 элементов C++
Создать двумерный массив 10*5, заполнить его значениями ( i^2-j^2), где i и j итераторы двумерного массива. А затем скопировать двумерный массив в одномерный массив из 50 элементов. Так, чтобы первая строка двумерного массива была первыми 10 элементами одномерного массива, вторая строка - вторые десять элементов и так далее... Вывести на экран оба массива.
C++ Вывести на экран таблицу перевода дюймов в сантиметры http://www.cyberforum.ru/cpp-beginners/thread365513.html
вывести на экран таблицу перевода расстояний в дюймах в саниметры для значений 2,4,6,...,12 дюймов (1 дюйм=25,4мм )
C++ Сложить два массива поэлементно Необходимо базовый класс Array: массив и поле для хранения количества элементов массива... реализовать перегрузку оператора и поэлементное сложение массивов. Хотелось бы методом класса создать ещё один объект класса и присвоить ему значение поэлементного сложения. #include <iostream.h> #include <conio.h> #include <math.h> class Array { private: подробнее

Показать сообщение отдельно
@r!er
 Аватар для @r!er
2 / 2 / 1
Регистрация: 15.09.2011
Сообщений: 25
13.10.2011, 12:43     Вычислить сумму элементов массива с нечетными номерами
Цитата Сообщение от meloman08071993 Посмотреть сообщение
В одномерном массиве, состоящем из η вещественных элементов, вычислить:
1) сумму элементов массива с нечетными номерами;
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>
#include <iomanip>
#include <ctime> //для генератора случайных чисел
using namespace std;
void show(const int* m, const int n);
void compression(int* m, const int n);
int main()
{
 // размерность массива
 int n;
 srand(time(0));
 n=rand()%10+10;
 // указатель на массив
 int *pArr=new int[n];
 // заполнение массива случайными числами
 for(int i=0; i<n; i++)
 pArr[i]=rand()%199-99;
 // сумма элементов с нечётными номерами
 int sumOdd=0;
 for(int i=1; i<n; i+=2)
 sumOdd+=pArr[i];
 // поиск первого и последнего
 // отрицательного элемента
 int fZero=-1, lZero=-2;
 for(int i=0; i<n; i++)
 {
  if(pArr[i]<0) lZero=i;
  if(pArr[n-i-1]<0) fZero=n-i-1;
 }
 // сумма элементов, расположенных между
 // первым и последним отрицательными элементами
 int sum=0;
 if(lZero-fZero>1)
 for(int i=fZero+1; i<lZero; i++)
 sum+=pArr[i];
 // печать исходного массива
 cout<<"Исходный массив:"<<endl;
 show(pArr,n);
 cout<<"Всего элементов: "<<n<<endl
     <<"Сумма элементов с нечётными номерами: "
     <<sumOdd<<endl;
 if(lZero-fZero==-1) cout<<"Отрицательных элементов нет"<<endl;
 if(lZero-fZero==0) cout<<"Отрицательный элемент: "<<fZero<<endl;
 if(lZero-fZero>=1)
 {
  cout<<"Первый отрицательный элемент: "<<fZero<<endl
      <<"Последний отрицательный элемент: "<<lZero<<endl;
 }
 if(lZero-fZero>1) cout<<"Сумма элементов "<<fZero+1
                       <<"-"<<lZero-1<<": "<<sum<<endl;
 cout<<endl;
 compression(pArr,n);
 cout<<"Сжатый массив:"<<endl;
 show(pArr,n);
 delete [] pArr;
 cout<<endl;
 system("pause");
 return 0;
}
void show(const int* m, const int n)
{
 cout<<char(218);
 for(int i=0; i<n; i++)
 {
  for(int j=0; j<3; j++)
  cout<<char(196);
  i<n-1?cout<<char(194):cout<<char(191)<<endl;
 }
 // вывод массива
 for(int i=0; i<n; i++)
 cout<<char(179)<<setw(3)<<m[i];
 cout<<char(179)<<endl<<char(195);
 for(int i=0; i<n; i++)
 {
  for(int j=0; j<3; j++)
  cout<<char(196);
  i<n-1?cout<<char(197):cout<<char(180)<<endl;
 }
 // вывод знака элемента
 char sign;
 for(int i=0; i<n; i++)
 {
  m[i]<0?sign='-':m[i]>0?sign='+':sign=' ';
  cout<<char(179)<<' '<<sign<<' ';
 }
 cout<<char(179)<<endl<<char(192);
 for(int i=0; i<n; i++)
 {
  for(int j=0; j<3; j++)
  cout<<char(196);
  i<n-1?cout<<char(193):cout<<char(217)<<endl;
 }
}
void compression(int* m, const int n)
{
 const int a=50;
 int i, j, s=0, temp;
 for(i=n-1; i>=0; i--)
 {
  if(abs(m[i])<a)
  {
   m[i]=0;
   j=i;
   while(j<n-1 && !m[j] && m[j+1])
   {
    temp=m[j+1];
    m[j+1]=m[j];
    m[j]=temp;
    j++;
    s++;
   }
  }
 }
 cout<<"Количество итераций сортировки: "<<s<<endl<<endl;
}
Дружище, сам тогда подправишь
 
Текущее время: 22:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru