Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.78
Maffffa
4 / 4 / 0
Регистрация: 21.12.2010
Сообщений: 10
#1

Найти сумму четных элементов массива, стоящих на четных местах - C++

21.12.2010, 11:32. Просмотров 3141. Ответов 6
Метки нет (Все метки)

Вы моя последняя надежда( помогите пожалуйста)) прогу с комментариями...

1. Найти сумму четных элементов массива, стоящих на четных местах.
2. Вычесть из положительных элементов массива элемент с номером k1, а к отрицательным прибавить элемент с номером k2.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2010, 11:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти сумму четных элементов массива, стоящих на четных местах (C++):

Найти сумму элементов массива, стоящих на четных местах - C++
найти сумму элементов массива стоящих на четных местах

Найти сумму элементов массива, стоящих на четных местах - C++
Составьте программу подсчета суммы элементов массива(задается с клавиатуры), стоящих на четных местах. Желательно попроще.

Найти сумму и количество положительных элементов массива В(13) стоящих на четных местах - C++
Найти сумму и количество положительных элементов массива В(13) стоящих на четных местах

Найти сумму четных элементов массива cтоящих в четных местах (Ошибка C2065: необъявленный идентификатор) - C++
найти сумму четных эл. массива V cтоящих в четных местах #include "stdafx.h" #include <stdio.h> #include <iostream> using...

Вычислить сумму элементов массива, стоящих на четных местах - C++
Здравствуйте! Помогите, пожалуйста, с задачей: необходимо найти сумму элементов массива, стоящих на четных местах. Понимаю, задача...

Найти сумму элементов S, стоящих на четных местах в заданном массиве a1, a2, ..., a10 - C++
Найти сумму элементов S, стоящих на четных местах в заданном массиве a1, a2, ..., a10.

6
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,385
Записей в блоге: 2
Завершенные тесты: 1
21.12.2010, 11:57 #2
C++
1
2
3
4
5
6
7
8
//1. Найти сумму четных элементов массива, стоящих на четных местах.
int summa(int* array,int size){
   int sum=0;
   for(int i=2;i<size;i+=2)
      if(!(array[i]%2))
         sum+=array[i];
   return sum;
}
Добавлено через 5 минут
C++
1
2
3
4
5
6
//2. Вычесть из положительных элементов массива элемент с номером k1, а к отрицательным
//прибавить элемент с номером k2.
void func(int* array,int size, int k1 int k2){
   for(int i=0;i<size;i++)
      array[i]=array[i]>=0 ? array[i]-array[k1] : array[i]+array[k2];// 0 считаем положительным числом
}
1
Maffffa
4 / 4 / 0
Регистрация: 21.12.2010
Сообщений: 10
21.12.2010, 14:05  [ТС] #3
Спс), но есть проблема усложнили задание (((
Для решения задачи использовать динамические массивы. Для обращения к элементам массива использовать адресную арифметику.
1
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,385
Записей в блоге: 2
Завершенные тесты: 1
21.12.2010, 14:53 #4
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int summa(int*,int);
int main(){
    int size;
    cout<<"Enter size of array: ";
    cin>>size;
    int* array=new int[size];
    for(int i=0;i<size;i++)
        array[i]=i;
    cout<<"Sum is: "<<summa(array, size)<<endl;
    return 0;
}
int summa(int* array,int size){
   int sum=0;
   for(int i=2;i<size;i+=2)
      if(!(array[i]%2))
         sum+=array[i];
   return sum;
}
Добавлено через 13 минут
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
#include <iostream>
using namespace std;
void func(int*,int, int, int);
int main(){
    int size;
    cout<<"Enter size of array: ";
    cin>>size;
    int* array=new int[size];
    for(int i=0;i<size;i++)
        array[i]=i%2?i:-i;
    for(int i=0;i<size;i++)
        cout<<"array["<<i<<"] : "<<array[i]<<endl;
    int k1,k2;
    cout<<"Enter k1: ";
    cin>>k1;
    cout<<"Enter k2: ";
    cin>>k2;
    func(array,size,k1,k2);
    for(int i=0;i<size;i++)
        cout<<"now array["<<i<<"] : "<<array[i]<<endl;
    return 0;
}
void func(int* array,int size, int k1, int k2){
   for(int i=0;i<size;i++)
      if(i!=k1&&i!=k2)
         array[i]=array[i]>=0 ? array[i]-array[k1] : array[i]+array[k2];// 0 считаем положительным числом
}
Добавлено через 8 минут
Цитата Сообщение от Maffffa Посмотреть сообщение
Для обращения к элементам массива использовать адресную арифметику.
забыл, тогда так:
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
#include <iostream>
using namespace std;
void func(int*,int, int, int);
int main(){
    int size;
    cout<<"Enter size of array: ";
    cin>>size;
    int* array=new int[size];
    for(int i=0;i<size;i++)
        *(array+i)=i%2?i:-i;
    for(int i=0;i<size;i++)
        cout<<"array["<<i<<"] : "<<*(array+i)<<endl;
    int k1,k2;
    cout<<"Enter k1: ";
    cin>>k1;
    cout<<"Enter k2: ";
    cin>>k2;
    func(array,size,k1,k2);
    for(int i=0;i<size;i++)
        cout<<"now array["<<i<<"] : "<<*(array+i)<<endl;
    return 0;
}
void func(int* array,int size, int k1, int k2){
   for(int i=0;i<size;i++)
      if(i!=k1&&i!=k2)
         *(array+i)=*(array+i)>=0 ? *(array+i)-*(array+k1) : *(array+i)+*(array+k2);// 0 считаем положительным числом
}
в первом по анологии.
1
Maffffa
4 / 4 / 0
Регистрация: 21.12.2010
Сообщений: 10
21.12.2010, 14:55  [ТС] #5
Огромное спс))) только можно спросить все понятно кроме using namespace std; что эта строка делает???
1
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,385
Записей в блоге: 2
Завершенные тесты: 1
21.12.2010, 15:12 #6
Цитата Сообщение от Maffffa Посмотреть сообщение
using namespace std; что эта строка делает???
указывает компилятору, что используется стандартное пространство имен (в котором находятся cout, cin и endl). Можно обойтись без этой строки, но тогда пришлось бы явно указывать пространсво имен, вот так:
C++
1
std::cout<<"blablabla";
1
Maffffa
4 / 4 / 0
Регистрация: 21.12.2010
Сообщений: 10
21.12.2010, 15:13  [ТС] #7
теперь понятно, спасибо)
1
21.12.2010, 15:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2010, 15:13
Привет! Вот еще темы с ответами:

В текстовом массиве, посчитать сумму длин элементов, стоящих на четных местах - C++
В текстовом масиве, пощитать суму длин елементов што стоят на парных местах

Найти сумму компонент вектора, стоящих на четных местах и произведение компонент, стоящих на нечетных - C++
Помогите пожалуйста написать программу: Найти сумму компонент вектора Y=(y(1), y(2)...y(10), стоящих на четных местах и произведение...

Указатели. Найти количество элементов, стоящих на четных местах, удовлетворяющих условию - C++
Доброго времени суток! Помогите пожалуйста написать программу! В массиве t(30), сформированном случайным образом, найти количество...

В массиве найти количество элементов, стоящих на четных местах, удовлетворяющих условию a<ti<b - C++
В массиве t(30), сформированном случайным образом, найти количество элементов, стоящих на четных местах, удовлетворяющих условию a&lt;ti&lt;b,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.