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

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

Войти
Регистрация
Восстановить пароль
 
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
#1

массивы - C++

24.11.2009, 00:12. Просмотров 381. Ответов 4
Метки нет (Все метки)

всем доброго времени суток!!
прошу помощи у ассов этого дела(:2.
Вычислить , Sn+So/Kn+Ko
где Sп и Kп – сумма и количество положительных элементов массива А (70), а Sо и Kо – сумма и количество отрицательных элементов того же массива.
падайте идею плз, и желательно по больше комментарий пжлста, спасибо!

Добавлено через 21 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
int main()
{
int mas[30];
int Z,k,b,i,a,y;
for(i=0;i<30;i++);
{cin >> mas[i];
if(mas[i]>0)
{int y=0;
y+=mas[i];
k++;}
else if(mas[i]<0)
{ int a=0;
 a+=mas[i];
 b++;
}
Z=(a+y)/(k+b);
printf("%d",Z);
getch();
return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2009, 00:12     массивы
Посмотрите здесь:

C++ Массивы
C++ Массивы
C++ Массивы
C++ Массивы
Массивы C++ C++
массивы C++
C++ Массивы
Массивы C++
массивы C++
Массивы C++
Массивы C++
C++ Массивы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
24.11.2009, 05:32     массивы #2
Смотрите, что Вы делаете у себя в коде:
Для +
C++
1
2
y+=mas[i];
k++;}
Для-
C++
1
2
a+=mas[i];
 b++;
То есть, должно быть (y+k)/(a+b);
А у Вас что?

Я всегда был "ЗА" то, чтобы переменным давались более-менее осмысленные имена.
Писал с нуля:
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
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <conio.h>
#include <iostream.h>
void main()
{
int mas[10], sum_pl=0,kol_pl=0,sum_otr=0,kol_otr=0;
int i;
int z;
  for (i=1; i<11; i++)
    {
      cin>>mas[i];
        if (mas[i]>0)
          {
            kol_pl++;
            sum_pl+=mas[i];
          }
        if (mas[i]<0)
          {
            kol_otr++;
            sum_otr+=mas[i];
          }
    }
  z=(kol_pl+sum_pl)/(kol_otr+sum_otr);
  cout<<z;
  getch();
}
Добавлено через 42 минуты
Еще у Вас в коде проблемы со скобочками для окончания цикла.
Я просто Ваш код отлаживал, дабы посмотреть, почему не работает.
Т.е. Закрывающая скобка цикла отсутствует
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
24.11.2009, 14:26  [ТС]     массивы #3
оо здраствуй!
нет суть задания в том чтобы вычислить
Z=Sn+So/Kn+Ko
ведь Sn- сумма положительных, т.е. у
а So - сумма отрицательных, т.е. a
спасибо, за исправленные ошибки!

Добавлено через 6 минут
и еще Z лучше дать float
ибо инт/инт=инт что есть нехорошо (:,
а почему i начинается с 1? это ведь не правильно, начальный элемент массивы будет отбрасываться ?
в вашем цикле учавствует 11 элементов, а надо десять
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
24.11.2009, 14:43     массивы #4
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
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <conio.h>
#include <iostream.h>
void main()
{
int mas[10], sum_pl=0,kol_pl=0,sum_otr=0,kol_otr=0;
int i;
int z;
  for (i=0; i<10; i++)
    {
      cin>>mas[i];
        if (mas[i]>0)
          {
            kol_pl++;
            sum_pl+=mas[i];
          }
        if (mas[i]<0)
          {
            kol_otr++;
            sum_otr+=mas[i];
          }
    }
  z=((sum_pl+sum_otr)/(kol_pl+kol_otr));
  cout<<z;
  getch();
}
Делал начало i с "1", т.к. люди считают с 1, а С++ с 0. Так удобнее для понимания просто.
Попробуйте это
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
24.11.2009, 14:49  [ТС]     массивы #5
и еще Z объявить как флоат, и все идеально работает, спасибо ((:
Yandex
Объявления
24.11.2009, 14:49     массивы
Ответ Создать тему
Опции темы

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