Получить последовательность по правилу - C (СИ) (79824)
Формулировка задачи:
Ребят, вот такая задача:
даны действ. числа а1,а2,...,аn(n>10). получить последовательность b1,b2...,b10, где b1=a1+a2+...+an,
b2=a2+a3+...+an, b10=a10+a11+...an;
я сделал так : где ошибка не могу понять?
подскажите пожалуйста
#include <stdio.h> #define SIZE 10 int main(void) { int usr=0,i=0,j=0; float a[SIZE],b[SIZE]; do { printf("Vvedite razmer (ne menee 11):\n"); scanf("%d",&usr); } while(usr<11); printf("Elements:\n"); for (i=0;i<usr;++i) { printf("a[i]:"); scanf("%d",&a[i]); } for (i=0; i<10; ++i) { b[i]=0; for (j=i; j<usr; ++j) b[i]+=a[j]; } printf("Massiv:\n"); for (i=0; i<10; ++i) { printf("%d:",b[i]); return 0; } }
Решение задачи: «Получить последовательность по правилу»
textual
Листинг программы
#include <stdio.h> int main(void) { int usr=0,i=0,j=0; float a[100],b[100]; do { printf("Vvedite razmer (ne menee 11):\n"); scanf("%d",&usr); } while(usr<11); printf("Elements:\n"); for (i=0;i<usr;++i) { printf("a[i]:"); scanf("%d",&a[i]); } for (i=0; i<10; ++i) { b[i]=0; for (j=i; j<usr; ++j) b[i]+=a[j]; } printf("Massiv:\n"); for (i=0; i<10; ++i) { printf("%d:",b[i]); return 0; } }
Объяснение кода листинга программы
Код на языке C выполняет следующие действия:
- Объявляет переменные
usr
,i
иj
типаint
, а также массивыa
иb
типаfloat
. - Запускает бесконечный цикл, прерываемый только после ввода числа больше или равного 11.
- Выводит сообщение
Elements:
и считывает значения элементов массиваa
с помощью функцииscanf()
. - Выполняет цикл для заполнения массива
b
суммой элементов массиваa
с помощью цикла двойного цикла. - Выводит сообщение
Massiv:
и выводит значения элементов массиваb
с помощью циклаfor
. - Возвращает 0, чтобы завершить работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д