Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Подсчет количества элементов одномерного массива, удовлетворяющих заданным условиям
Часто возникают задачи, требующие вычислить сумму всех или некоторых элементов массива, например, сумму элементов, стоящих в массиве на заданных местах, или сумму элементов, удовлетворяющих некоторому условию (сумму только положительных элементов, сумму ненулевых элементов второй половины массива и т.д.). /* с помощью цикла for */ s=0; for(i=in;i<ik;i+=step) if(условие) s+=a[i]; // или s=s+a[i]; /* с помощью цикла while */ s=0; i=in; while (i<ik) { if(условие) s+=a[i]; i=i+step; } Вычисление произведения элементов одномерного массива. /* помощью цикла for */ P=1; for(i=in;i<ik;i=i+step) P=P*a[i]; /* с помощью цикла while */ p=1; i=in; while (i<ik { P=P*a[i]; i=i+step; } Поиск элементов одномерного массива, обладающих заданным свойством. В одномерном массиве a размерностью n, вычислить сумму элементов массива, меньших заданного значения В и стоящих на местах, кратных трем. Решение. нумерация элементов массива в С начинается с нуля. Элементы стоящие на местах кратных трем – а2, а5, а8, …,. Индекс элемента массива. изменяться от 2 с шагом 3. in=2, ik=n, step=3 Используемые переменные: n – число элементов массива; a[] – динамический массив; s – сумма элементов массива; B – заданное число; i – параметр цикла;
#include <stdio.h> main() { int n,i; float s, B; puts("Введите B"); scanf("%f",&B); puts("Введите число элементов массива a"); scanf("%d",&n); float *a=new float[n]; for (i=0;i<n;i++) { printf("Введите число a[%2d]=",i); scanf("%f",a+i); } s=0; for(i=2;i<n;i+=3) if(*(a+i)<B) s+=*(a+i); puts("Массив a"); for(i=0;i<n;i++) printf("%.1f ",*(a+i)); printf("\n"); printf("Сумма чисел, меньших %.1f, стоящих на местах, кратных 3, равна %.2f\n",B,s); delete[] a; // освобождение памяти return(0); } Date: 2016-06-07; view: 720; Нарушение авторских прав |