Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 01:11   #1
so1o
 
Регистрация: 16.11.2009
Сообщений: 7
По умолчанию массивы - Вычислить , Sn+So/Kn+Ko

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

Последний раз редактировалось Sazary; 27.11.2009 в 20:10.
so1o вне форума Ответить с цитированием
Старый 24.11.2009, 01:43   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Зачем переопределять переменные y и a ?

Вначале программы объявите их и инициализируйте нулями.
Переменная Z , скорее будет вещественного типа, чем целого:

Код:
float Z;
...
Z=(a+y)/(k+b);
printf("%f",Z);
counter вне форума Ответить с цитированием
Старый 24.11.2009, 02:16   #3
so1o
 
Регистрация: 16.11.2009
Сообщений: 7
По умолчанию

а толку, программа все равно гонит, неправильно работает
so1o вне форума Ответить с цитированием
Старый 24.11.2009, 02:23   #4
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Код:
#include <conio.h>
#include <stdio.h>

int main()
{
	int mas[30];
	int k=0,b=0,i,a=0,y=0;  // инициализация переменных обязательна
	float Z;
	for(i=0;i<10;i++)  // точка с запятой не нужны
	{
		scanf("%d",&mas[i]);
		if(mas[i]>0)
		{
			y+=mas[i];
			k++;
		}
		else if(mas[i]<0)
		{ 
			a+=mas[i];
			b++;
		}
	}
	Z=(float)(a+y)/(k+b);  // приведение к типу float, т.к. деление int на int дает в результате int
	printf("%f",Z);
	getch();
	return 0;
}
counter вне форума Ответить с цитированием
Старый 24.11.2009, 02:27   #5
so1o
 
Регистрация: 16.11.2009
Сообщений: 7
По умолчанию

спасибо вам большое!
so1o вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Вычислить значение Наталья111 Общие вопросы Delphi 17 25.12.2008 08:43
Вычислить. svobodys Помощь студентам 7 16.12.2008 17:21
Вычислить. Artimbulidor Помощь студентам 4 24.11.2008 19:10