Сформировать вектор и найти сумму его элементов из заданного интервала - C (СИ)
Формулировка задачи:
Помогите пожалуйста доделать задание! я сделала только первое ((((((
Буду очень благодарна всем кто поможет.....
Вектор А[1:20] сформировать из вещественных случайных чисел в диапазоне [-10 10].
а) найти сумму S элементов из интервала [-3 +6].
б) найти произведение этой суммы на min элемент вектора.
в) найти номер максимального элемента между номерами 5 и 15.
г) удалить 16-ый элемент вектора.
#include <math.h> #include <stdio.h> #include <time.h> #include <stdlib.h> int main() { int i,n,m,nmin,nmax; int min,max; int sum,sum1,pr,pr1; int mas1[20]; time_t t;//Текущее время для инициализации генератора случайных чисел srand((unsigned) time(&t));//инициализациz генератора случайных чисел printf("Ishodn vector A\n"); for (i=0; i<=19 ;i++) { mas1[i]=rand()%20-10; printf(" %3d",mas1[i]); if ((i+1)%5==0)printf("\n"); } sum=0; pr=1; for (i=0; i<=19 ;i++) { if (mas1[i]>=-3 && mas1[i]<=6) sum+=mas1[i]; } printf("S=%3d\t P=%3d\n",sum,pr); system("PAUSE"); return EXIT_SUCCESS; }
Решение задачи: «Сформировать вектор и найти сумму его элементов из заданного интервала»
textual
Листинг программы
#include <math.h> #include <stdio.h> #include <time.h> #include <stdlib.h> int main() { int i,n,m,nmin,nmax; int min,max; int sum,sum1,pr,pr1; int mas1[20]; time_t t;//Текущее время для инициализации генератора случайных чисел srand((unsigned) time(&t));//инициализациz генератора случайных чисел printf("Ishodn vector A\n"); for (i=0; i<=19 ;i++) { mas1[i]=rand()%20-10; printf(" %3d",mas1[i]); if ((i+1)%5==0)printf("\n"); } sum=0; pr=1; for (i=0; i<=19 ;i++) { if (mas1[i]>=-3 && mas1[i]<=6) sum+=mas1[i]; } printf("S=%3d\t P=%3d\n",sum,pr); //задание б min=mas1[0]; for(int i=0;i<20;i++) if(min>mas1[i])min=mas1[i]; pr=sum*min; printf("P=%3d\n",pr); //задание в - между, как по мне - это не включая 5 и 15 max=mas1[5]; for(int i=5;i<14;i++) if(max<mas1[i])max=mas1[i]; printf("max=%3d\n",max); //задание г for(int i=15;i<19;i++) mas1[i]=mas1[i+1]; for (i=0; i<19 ;i++) { printf(" %3d",mas1[i]); if ((i+1)%5==0)printf("\n"); } printf("\n"); system("PAUSE"); return EXIT_SUCCESS; }
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные: i, n, m, nmin, nmax, min, max, sum, sum1, pr, pr1, mas1[20], t.
- Инициализируются массивы и генератор случайных чисел.
- Выводится вектор A.
- Находится сумма элементов вектора, удовлетворяющих условию.
- Вычисляется значение P по формуле из задания.
- Находится минимальное значение в массиве.
- Вычисляется значение P по формуле из задания.
- Находится максимальное значение в массиве.
- В массиве сдвигаются элементы, чтобы получить вектор B.
- Выводится вектор B.
- Выводится сообщение
Press any key to continue...
. - Возвращается EXIT_SUCCESS.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д