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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2016, 15:29   #1
moksim
 
Регистрация: 27.11.2016
Сообщений: 6
По умолчанию помогите с прогой на си

нужно вычислить y = x1 + x1x2 + x1x2x3 + … + x1x2…xm, где m – либо номер первого отрицательного элемента
массива x, либо номер последнего элемента, если в массиве x нет отрицательных элементов.
неделю голову ломаю не получается
исправьте пожалуйста

Код:
#include <stdio.h>
#include <conio.h>
int main()
 {
  int i,n,t;
  int fact;
 int sum=0;
  printf("Vvedite polozhitelnyi razmer massiva n: \n");
  scanf("%d", &n);
  while (n<=0)
  {
    printf("Vvedite polozhitelnoe n: \n");
    scanf("%d", &n);
  }
  int a[n];

  printf("Vvedite elementy massiva: \n");

  for(i=0; i<n; i++)
    {
     printf("a[%d] = ", i);
     scanf("%d", &a[i]);
    }

   for(i=0; i<n; i++)
        {
        fact=a[i];
        fact=fact*a[i+1];
        sum=sum+fact;
        }
    printf("summa = %d", &sum);
return 0;
}

Последний раз редактировалось Alex11223; 27.11.2016 в 21:41.
moksim вне форума Ответить с цитированием
Старый 27.11.2016, 15:53   #2
Мановар
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 84
По умолчанию

А где проверка на отрицательность?
Мановар вне форума Ответить с цитированием
Старый 27.11.2016, 17:29   #3
moksim
 
Регистрация: 27.11.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Мановар Посмотреть сообщение
А где проверка на отрицательность?
проверка на отрицательность это не сложно, мне бы сначала понять как считается все это. даже при маленьком количестве элементов в массиве он все равно выдает 6000000
moksim вне форума Ответить с цитированием
Старый 27.11.2016, 19:10   #4
Мановар
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 84
По умолчанию

Цитата:
Сообщение от moksim Посмотреть сообщение
он все равно выдает 6000000
Не понятно ???
Мановар вне форума Ответить с цитированием
Старый 27.11.2016, 19:36   #5
Мановар
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 84
По умолчанию

На C++ будет выглядеть как то так (без проверки на отрицательность)

Код:
#include "stdafx.h"
#include <iostream>

using namespace std;

int main()
{
	setlocale (0,"");
	int n, summ = 0, proizv = 1;
	int *x;
	cout << "\n Введите размерность массива :";
	cin >> n;
	x=new int[n];

	for (int i=0; i<n; i++)
	{
		cout << "Введите x[" << i << "] = ";
		cin >> x[i];
		proizv *= x[i];
		summ += proizv; 
	}
	cout << "\n Сумма = " << summ << endl;
	system ("pause");
    return 0;
}
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 27.11.2016 в 21:41.
Мановар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с прогой (С++) Meddy Помощь студентам 3 13.07.2008 21:38
помогите с прогой DeDoK Общие вопросы Delphi 7 09.05.2008 23:51
Помогите с прогой! NecRomant Общие вопросы Delphi 4 25.02.2008 20:19