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

Тема в разделе "Общие вопросы по С и С++", создана пользователем Maxxy, 10 окт 2007.

Статус темы:
Закрыта.
  1. Maxxy

    Maxxy Гость

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

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
  3. Maxxy

    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];


    Требуется доработка
     
  4. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Начальное значение для i надо бы задать.
     
  5. Maxxy

    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;
    }
     
  6. Over

    Over Well-Known Member

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

Поделиться этой страницей