• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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);
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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