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

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

Восстановить пароль Регистрация
 
pr1me222
0 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 71
09.01.2013, 01:37     Вычислить сумму элементов массива с нечетными номерами #1
Есть условие задачи:
В одномерном массиве, состоящем из 20 вещественных элементов, вычислить:
1) сумму элементов массива с нечетными номерами;
2) сумму элементов массива, расположенных между первым и последним отрицательными элементами.
Сжать массив, удалив из него все элементы, модуль которых не превышает 1.

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
#include <iostream>
#include <conio.h>
 using namespace std;
 
int main()
{
    int i,f,j;
    const int SIZE = 20;
    int mas [SIZE], mas1[SIZE];
    int nach=-1,kon=-1,n=0, sum1=0;
 
    setlocale (LC_ALL,".1251"); 
    cout <<"Введите массив чисел состоящий не более чем из 20 символов";
    for (i=0; i<20; i++)
    {
    cin>>mas[i];
    }
    
    for (i=0; i<SIZE; i++)
    {
        f=0;
      for (i=0; 2*i-1;i++) 
          f=f+i;
      }
        //cin >>f;
    cout << "Сумма элементов стоящих на нечетных местах равна = "<<f;
    
    {
        for (i=0; i<SIZE; i++){
    if((nach!=-1)&&(kon!=-1))
    for(int i=nach+1;i<kon;i++)
        sum1+=mas[i];}
    cout<< "Сумма элементов расположенных между первым и последним отрицательными элементами."<<sum1;
    }
 
    
        for(int i=0,j=0;i<20;i++)
    if(abs(mas[i])>1){
        mas1[j++]=mas[i];
        n++;
        cout << "Массив, из которого удалены  все элементы, модуль которых не превышает 1."<<mas1[j];
    }
компиляция проходит без ошибок, но после ввода массива не происходит не каких расчетов(( помогите пожалуйста(((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 01:37     Вычислить сумму элементов массива с нечетными номерами
Посмотрите здесь:

Вычислить сумму элементов массива с нечетными номерами C++
Найти сумму элементов массива с нечетными номерами C++
Вычислить сумму элементов массива с нечетными номерами C++
В одномерном массиве вычислить сумму элементов с нечетными номерами C++
Вычислить сумму элементов массива с нечетными номерами C++
Найти сумму элементов массива с нечетными номерами C++
C++ Вычислить сумму элементов массива с нечетными номерами
C++ Найти сумму элементов массива с нечетными номерами и произведение элементов между двумя отрицательными элем

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
09.01.2013, 03:19     Вычислить сумму элементов массива с нечетными номерами #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вы в этом фрагменте не уходите в вечный цикл? Как вы думаете?
C++
1
2
3
4
5
6
for (i=0; i<SIZE; i++)
    {
        f=0;
      for (i=0; 2*i-1;i++) 
          f=f+i;
      }
Добавлено через 5 минут
и дальше в том же стиле, разберитесь в коде. Вам переменных мало? Зачем одинаково называть глобальные и локальные переменные? Что тут хотели считать?
C++
1
2
3
4
for (i=0; i<SIZE; i++){
    if((nach!=-1)&&(kon!=-1))
    for(int i=nach+1;i<kon;i++)
        sum1+=mas[i];}
и массив у вас никак не вещественный а целый
C++
1
int mas [SIZE], mas1[SIZE];
Добавлено через 1 час 18 минут
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
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <cmath>
using namespace std;
const int Size=20;
int main(int argc, char **argv)
{
    float *mas=new float[Size];
    for (int i=0; i<Size; ++i)
        //cin>>mas[i]; 
        mas[i]=-5.0+10.0*rand()/(1.0*RAND_MAX);
    cout.precision(4); 
    for (int i=0; i<Size; ++i)
        cout<<fixed<<setw(8)<<mas[i];
    cout << endl;
    //1)
    float sumNeg=0.0;
    for (int i=1; i<Size; i+=2)
        sumNeg+=mas[i];
    cout<<"SumNeg is "<<sumNeg<<"\n";
    //2)
    int first=0, second=0;
    for (int i=0; i<Size; ++i)
        if (mas[i]<0) {
            first=i;
            break;
    }
    for (int i=Size-1; i>-1; --i)
        if (mas[i]<0) {
            second=i;
            break;
    }
    float sumBetween=0.0;
    for (int i=first; i<second; ++i)
        sumBetween+=mas[i];
    cout<<"SumBetween is "<<sumBetween<<"\n";
    //3)
    int k=0;
    for (int i=0; i<Size; ++i)
        if(fabs(mas[i])>1.0) k++; 
    float *newmas=new float[k];
    int j=0;
    for(int i=0; i<Size; ++i){
        if (fabs(mas[i])>1.0) {newmas[j]=mas[i];j++;}
    }
    delete []mas;
    mas=newmas;
    for(int i=0; i<k; ++i)
        cout<<fixed<<setw(8)<<mas[i];
    cout << endl;
    delete []mas;       
    return 0;
}
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 130
09.01.2013, 03:30     Вычислить сумму элементов массива с нечетными номерами #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
const int size = 6;
    int mas[size];
    int chet=0,x,y,oversize=0;
 
    cout <<"Enter some numbers: ";
    for (int i=0; i<size; i++)
    {
         cin>>mas[i];
    }
        
    for(int i=0; i<size; i++)
    {
        if(i%2!=0)
            chet+=mas[i];
    }
    cout<<"Sum mas[i]%2 = 0 : "<<chet<<endl;
    
    bool flag1=true,flag2=true;
 
    for(int i = 0; i < size; i ++){
        if(mas[i]<0 && flag1){
            flag1 = false;
            x=i;
        }
        if(mas[size-1]<0 && flag2)
            flag2 = false;
            y=size-1;
    }
    for(int i = x+1; i < y; i++){
        oversize+=mas[i];
    }
    cout<<"Number from '-' to '-'  : "<<oversize<<endl;
 
    for(int i = 0; i < size; i ++){
        if(abs(mas[i])>1)
        {mas[i] = mas[i+1];}
    }
    cout<<"Massive after some transform: ";
    for(int i = 0 ; i < size-1; i++){
        cout<<mas[i]<<"  ";}
    cout<<endl;
Должно работать, уже голова не варит... Хм, опередили меня, не обновлял страницу
Yandex
Объявления
09.01.2013, 03:30     Вычислить сумму элементов массива с нечетными номерами
Ответ Создать тему
Опции темы

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