• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Операторы цикла

  • Автор темы Maxxy
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Maxxy

Помогите плиз с задачей на Си

Дана непустая последовательность положительных чисел x1,x2,x3,..xn (n заранее не известно), за которыми следует отрицательное число. Вычислить величину n*x1+(n-1)*x2+...+xn
 
M

Maxxy

int i,s,n;
for(i=0;a>0;i++)
n=i-1;
s=0;
for(i--;i>=0;i--);
s+=i*a[n-i];


Требуется доработка
 
G

grigsoft

Начальное значение для i надо бы задать.
 
M

Maxxy

Помогите с кодом елы-палы,я уже одуревший с этой задачи,эта гр*цензура*ая рекуррентная последовательность вообще уже мозги запарила<_<

#include <stdio.h>
int main () {
int i, n, a, s;
printf ("Vvedite kol-vo chisel: ");
scanf ("%d", &n);
printf ("vvedite %d chisel: ", n);
scanf ("%d", &s);
for(i = 1; i < n ; i++) {
scanf ("%d", &a);
n=1-i;
s=n*i;
}
printf ("%d", s);
return 0;
}
 
O

Over

У тебя дан массив. Он может быть любой длины. Ну для выполнения задачи возми 256, например. И вот с самого начала в этом массиве начинаются целые положительные числа. 1-й, 2-й, 3-й элемент и так далее... 10-й, 20-й... И потом на каком-нибудь элементе бац! и встрецается отрицательное число! Вот! Тебе нужно будет найти индекс этого отрицательного элемента. Это будет твоё n. После этого вычислить формулу.
Алгоритм такой:
1) Объявляешь массив.
2) генеришь рандомом в него числа (randomize или rnd), причём так, чтобы после нескольких положительных сгенерилось отрицательное.
3) выполняешь цикл фор от нуля до конца массива, просматриваешь элементы массива
4) если элемент попался отрицательный, то индекс элемента записывай в какую-нибудь переменную, а из цикла break;
5) дальше выполняешь цикл от 0 (нуля) до индекса найденного элемента
6) в каждой итерации цикла находишь значение произведения:
Код:
result = 0;
for (i = 0; i < n; i++)
result += (n-i)*x[i];
printf("%d", result);
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!