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

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

Войти
Регистрация
Восстановить пароль
 
таня2
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 48
#1

В чем ошибка? - C++

13.01.2014, 23:44. Просмотров 353. Ответов 14
Метки нет (Все метки)

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
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
const int N=10;
int min,max,i,k=0,s=0;
float massiv[N];
cout<<"Vvedite 10 celyh chisel\n";
for(i=0;i<N;i++)
cin>>massiv[i];
for(i=0;i<N;i++)
cout<<"\n massiv["<<i<<"]="<<massiv[i];
 
for(i=0;i<=N;i=i+2)
{k=massiv[i]+k;}
cout<<"\n Sum="<<k<<'\n';
 
for(i=0;i<N;i++)
{
if(massiv[i]<0)
{
min=i;break;
}
}
for(i=0;i<N;i++)
{
if(massiv[i]<0)
{max=i;
}
}
for(i=min+1;i<max;i++)
{
s=massiv[i]+s;
cout<<"Summa="<<s;
system("pause");
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2014, 23:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В чем ошибка? (C++):

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка? - C++
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и вывести наименование товара, цена которого...

Ошибка 2 error LNK2019, не пойму в чем ошибка - C++
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ &quot;int __cdecl game(void)&quot; (?game@@YAHXZ) в функции....

в чем ошибка? - C++
я начал учить ф-ии.пока не все знаю,в книге так #include &lt;stdio.h&gt; #include &lt;iostream.h&gt; int main(int nNumberofArgs, char* pszArgs) {...

В чем ошибка ?! - C++
задача такая: написать программу что бы символ двигался в консоле при помощи стрелок. и почему оно не работает? уже все перепробывал...

a/b в чем ошибка ? - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main () { float sc1,sc2; clrscr(); /* vvedenia faktychnykh danyhh */ printf...

в чем ошибка ?(( - C++
Программа для возведеня в степень число, я не понимаю в чём проблема #include &lt;iostream&gt; using namespace std; int main(); int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ev_Hyper
Заблокирован
13.01.2014, 23:48 #2
таня2, забыли закрыть main() фигурной скобкой
1
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
13.01.2014, 23:51 #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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include"stdafx.h"
#include<iostream>
#include<conio.h>
#include<cmath>
using namespace std;
int main()
{
    const int N = 10;
    int min, max, i, k = 0, s = 0;
    float massiv[N];
    cout << "Vvedite 10 celyh chisel\n";
    for (i = 0; i < N; i++)
        cin >> massiv[i];
    for (i = 0; i < N; i++)
        cout << "\n massiv[" << i << "]=" << massiv[i];
 
    for (i = 0; i < N; i++)
    {
        if ((i+1)%2==0)
            k = massiv[i] + k;
    }
    cout << "\n Sum=" << k << '\n';
 
    for (i = 0; i < N; i++)
    {
        if (massiv[i] < 0)
        {
            min = i; break;
        }
    }
    for (i = 0; i < N; i++)
    {
        if (massiv[i] < 0)
        {
            max = i;
        }
    }
    for (i = min + 1; i < max; i++)
        s +=massiv[i];
 
        cout << "Summa=" << s;
        system("pause");
        return 0;
    }
1
Ev_Hyper
Заблокирован
13.01.2014, 23:54 #4
Цитата Сообщение от cooller_94 Посмотреть сообщение
И нужно подключить пространство имен
не обязательно. Зависит от компилятора.

Цитата Сообщение от cooller_94 Посмотреть сообщение
Поимо того что забыли скобку закрыть, вы не правильно считаете сумму четных.
и сумму между отрицательными тоже
0
таня2
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 48
13.01.2014, 23:56  [ТС] #5
а как здесь все это исправить? Помогите пожалуйста!!!!!
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2014, 00:02 #6
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
и сумму между отрицательными тоже
Верно, ее не проверял. Просто тут хоть что то выводило, а на четные вообще мусор

Добавлено через 5 минут
Ev_Hyper, Хотя сумма между отрицательными вроде верно
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
14.01.2014, 00:06 #7
Цитата Сообщение от таня2 Посмотреть сообщение
for(i=min+1;i<max;i++)
{
s=massiv[i]+s;
cout<<"Summa="<<s;
system("pause");
return 0;
}
вылетит на первой же итерации
по моему нужно так
C++
1
2
3
4
5
6
7
8
for(i=min+1;i<max;i++)
{
s=massiv[i]+s;
}
 
cout<<"Summa="<<s;
system("pause");
return 0;
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2014, 00:06 #8
таня2, Вверху рабочая версия
Какой у вас компилятор?
1
Ev_Hyper
Заблокирован
14.01.2014, 00:07 #9
Цитата Сообщение от cooller_94 Посмотреть сообщение
Ev_Hyper, Хотя сумма между отрицательными вроде верно
А если рассматривать вариант, что отр. нет, или одно, то вариант сумма = 0 не совсем правильный.
2
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2014, 00:10 #10
таня2,
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
А если рассматривать вариант, что отр. нет, или одно, то вариант сумма = 0 не совсем правильный.
Вот
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
#include"stdafx.h"
#include<iostream>
#include<conio.h>
#include<cmath>
using namespace std;
int main()
{
    const int N = 10;
    int min = -1, max = -1, i, k = 0, s = 0;
    float massiv[N];
    cout << "Vvedite 10 celyh chisel\n";
    for (i = 0; i < N; i++)
        cin >> massiv[i];
    for (i = 0; i < N; i++)
        cout << "\n massiv[" << i << "]=" << massiv[i];
 
    for (i = 0; i < N; i++)
    {
        if ((i+1)%2==0)
            k = massiv[i] + k;
    }
    cout << "\n Sum chetnih=" << k << '\n';
 
    for (i = 0; i < N; i++)
    {
        if (massiv[i] < 0)
            min = i; break;
 
    }
    for (i = 0; i < N; i++)
    {
        if (massiv[i] < 0)
        {
            max = i;
        }
    }
    if (min != -1 && max != -1){
        for (i = min + 1; i < max; i++)
            s += massiv[i];
        cout << "Summa betveen minus=" << s<<endl;
    }
        system("pause");
        return 0;
    }
1
таня2
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 48
14.01.2014, 00:14  [ТС] #11
Большое спасибо, у меня уже все правильно посчитало)))
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
14.01.2014, 00:16 #12
Цитата Сообщение от cooller_94 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (i = 0; i < N; i++)
  {
    if (massiv[i] < 0)
      min = i; break;
  }
  for (i = 0; i < N; i++)
  {
   if (massiv[i] < 0)
   {
    max = i;
     }
   }
а не проще с конца искать?
C++
1
2
3
4
5
6
7
8
for (i = N-1; i>=0; i--)
   {
     if (massiv[i] < 0)
      {
        max = i;
        break;
       }
    }
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2014, 00:17 #13
Цитата Сообщение от ValeryS Посмотреть сообщение
а не проще с конца искать?
Проще, но я поправлял ее код до рабочего состояния
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
14.01.2014, 00:20 #14
Цитата Сообщение от cooller_94 Посмотреть сообщение
if (min != -1 && max != -1){
вторая проверка лишняя
если min больше 1 то и max будет больше 1
а вот когда они совпадают, в массиве одно отрицательное число, у тебя не предусмотрен
C++
1
if(min<0 && min!=max)
1
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2014, 00:23 #15
ValeryS, Спасибо, это не учел
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2014, 00:23
Привет! Вот еще темы с ответами:

В чем ошибка? - C++
Пишет что мол использована неинициализированная переменная b, y и x. Вроде все обьявлено же, что за прикол? #include &lt;iostream&gt; ...

в чем ошибка? - C++
for (int i=1; i&lt;=S.Length(); i++) { if ((S=='-') &amp;&amp; (S=='-')) { S='+'; S=&quot;&quot;; } ...

В чем ошибка? - C++
Компилирую в Visual Studio C++ #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;math.h&gt; #include &lt;locale.h&gt; using namespace...

В чем ошибка? - C++
#include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;iomanip.h&gt; class student { char name; char klass; char pol; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.01.2014, 00:23
Ответ Создать тему
Опции темы

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