Форум программистов, компьютерный форум, киберфорум
Наши страницы

C для начинающих

Войти
Регистрация
Восстановить пароль
 
 
mital25
6 / 6 / 1
Регистрация: 11.10.2013
Сообщений: 86
#1

Найти количество элементов массива вне заданного интервала - C (СИ)

22.10.2014, 19:43. Просмотров 983. Ответов 27
Метки нет (Все метки)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <locale.h>
 
#define B 5
 
int main()
{
     setlocale(LC_CTYPE,"Russian");
{
 
 
    float A[B];
    int i;
    int max;
    int maxIn=0;
 
    printf("Введем элементы массива\n");
    for(int i=0;i<5;i++)
    {
        printf("[%i]=",i);
        scanf("%d",&A[i]);
    }
    int count = 0;//переменная счетчика
    int x,y;
    printf ("Укажите интервал\n");
    printf ("a=",x,"\n");
scanf("%d",&x);
printf ("b=",y,"\n");
scanf("%d",&y);
float   a=A[x],b=A[y];//отрезок a,b
for(int i=0;i<5;i++)
{
     if (A[i] < a || A[i] > b)count++;//сам подсчет
 
}
 
printf("Kоличество элементов вне интервала: %d\n",count);
 
 
    for(int i=0;i<B;i++)
    {
    if ( i == 0 )
    max = A[0];
 
    if ( max <= A[i] )
 
     max = A[i];
     maxIn = i;
 
     }
     printf("Максимальный элемент: max=%d\n", A[maxIn]);
 
{
    for ( int i = maxIn+1; i < B; i++ )
    {
        sum += A[i];
    }
printf("sum=%f\n", sum);
}
return 0;
 
 
}
в этом коде необходимо было 1)найти количество элементов массива вне интервала
2)найти максимальный элемент и посчитать сумму элементов после него

как ни странно 1 задание будет работать если закоментировать все кроме него
ощущение логической ошибки появляется при выполнении 2 задания
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2014, 19:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти количество элементов массива вне заданного интервала (C (СИ)):

Сформировать вектор и найти сумму его элементов из заданного интервала - C (СИ)
Помогите пожалуйста доделать задание! я сделала только первое (((((( Буду очень благодарна всем кто поможет..... Вектор А...

Вычислить количество элементов массива, лежащих вне диапазона - C (СИ)
В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) количество элементов массива, лежащих вне диапазона вот...

Найти значение из заданного интервала, отсутствующее в массиве - C (СИ)
Здравствуйте! Использование массивов в стиле языка C (нельзя использовать контейнеры библиотеки STL или других). Напишите,...

Подсчитать количество элементов массива, больших заданного значения (double) - C (СИ)
Подсчитать количество элементов массива, больших заданного значения(double).

Найти количество элементов, больших заданного числа - C (СИ)
Нужно решение задачи на СИ: найти количество элементов. больших заданного числа. Заранее огромное спасибо.

Найти количество четных чисел массива сумма цифр в которых не превышает заданного числа - C (СИ)
После выполнения программы должен вывести на экран элементы массива, которые удовлетворяют условию и количество этих элементов.Выводит не...

27
Move_Ahead
4 / 4 / 3
Регистрация: 21.10.2014
Сообщений: 22
22.10.2014, 19:54 #2
48 - 51 строки
C++
1
2
3
4
if ( max <= A[i] ) {
     max = A[i];
     maxIn = i; 
}
Используйте правильно фигурные скобки
0
mital25
6 / 6 / 1
Регистрация: 11.10.2013
Сообщений: 86
22.10.2014, 20:00  [ТС] #3
ну скобки поставил sum определил все равно
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <locale.h>
 
#define B 5
 
int main()
{
     setlocale(LC_CTYPE,"Russian");
{
 
 
    float A[B];
    int i;
    int max;
    int maxIn=0;
    int sum;
 
    printf("Введем элементы массива\n");
    for(int i=0;i<5;i++)
    {
        printf("[%i]=",i);
        scanf("%d",&A[i]);
    }
    int count = 0;//переменная счетчика
    int x,y;
    printf ("Укажите интервал\n");
    printf ("a=",x,"\n");
scanf("%d",&x);
printf ("b=",y,"\n");
scanf("%d",&y);
float   a=A[x],b=A[y];//отрезок a,b
for(int i=0;i<5;i++)
{
     if (A[i] < a || A[i] > b)count++;//сам подсчет
 
}
 
printf("Kоличество элементов вне интервала: %d\n",count);
 
 
    for(int i=0;i<B;i++)
    {
    if ( i == 0 )
    max = A[0];
 
    if ( max <= A[i] ){
 
     max = A[i];
     maxIn = i;}
 
    }
     printf("Максимальный элемент: max=%d\n", A[maxIn]);
 
{
    for ( int i = maxIn+1; i < B; i++ )
    {
        sum += A[i];
    }
printf("sum=%f\n", sum);
}
return 0;
}
новый лист
0
kiff20072008
57 / 57 / 13
Регистрация: 28.09.2012
Сообщений: 358
22.10.2014, 20:14 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
mital25, в вашем коде конечно черт ногу сломит

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <locale.h>
 
#define B 5
 
int main()
{
    setlocale(LC_CTYPE, "Russian");
 
 
 
        int A[B];
        int i;
        int max;
        int maxIn = 0;
        int sum=0;
        int count = 0;//переменная счетчика
        int x, y;
 
        printf("Введем элементы массива\n");
        for (int i = 0; i<5; i++)
        {
            printf("[%i]=", i);
            scanf("%i", &A[i]);
        }
        
        printf("Укажите интервал\n");
        printf("a=\n");
        scanf("%i", &x);
        printf("b=\n");
        scanf("%i", &y);
        for (i = 0; i<B; i++)
        {
            if (A[i] < x || A[i] > y)
                count++;//сам подсчет
 
        }
 
        printf("Kоличество элементов вне интервала: %i\n", count);
 
        max = A[0];
        for ( i = 0; i<B; i++)
        {
                
 
            if (max <= A[i]){
 
                max = A[i];
                maxIn = i;
            }
 
        }
        printf("Максимальный элемент: max=A[%i]=%i\n",maxIn, A[maxIn]);
 
        {
            for (i = maxIn + 1; i < B; i++)
            {
                sum += A[i];
            }
            printf("sum=%i\n", sum);
        }
        return 0;
    }
1
mital25
6 / 6 / 1
Регистрация: 11.10.2013
Сообщений: 86
22.10.2014, 20:59  [ТС] #5
я только учусь)))

Добавлено через 20 минут
возникла одна маленькая проблема счетчик считает с ошибкой

Добавлено через 9 минут
Лююююди помогите я ни как не пойму почему счетчик постоянно ошибается
!!!
0
kiff20072008
57 / 57 / 13
Регистрация: 28.09.2012
Сообщений: 358
22.10.2014, 21:09 #6
mital25,то есть?
0
mital25
6 / 6 / 1
Регистрация: 11.10.2013
Сообщений: 86
22.10.2014, 21:16  [ТС] #7
Цитата Сообщение от kiff20072008 Посмотреть сообщение
то есть?
программа запуская счетчик ошибается в подсчете у нее постоянно выходит ответ 2 либо 1

Добавлено через 24 секунды
хотя их там как минимум 3
0
kiff20072008
57 / 57 / 13
Регистрация: 28.09.2012
Сообщений: 358
22.10.2014, 21:17 #8
mital25, что вы вводите ?
0
mital25
6 / 6 / 1
Регистрация: 11.10.2013
Сообщений: 86
22.10.2014, 21:25  [ТС] #9
сейчас продемонстрирую

Добавлено через 27 секунд
Цитата Сообщение от kiff20072008 Посмотреть сообщение
что вы вводите ?
сейчас продемонстрирую
0
mital25
6 / 6 / 1
Регистрация: 11.10.2013
Сообщений: 86
22.10.2014, 21:29  [ТС] #10
Цитата Сообщение от kiff20072008 Посмотреть сообщение
что вы вводите ?
вот посмотрите картинку
0
Миниатюры
Найти количество элементов массива вне заданного интервала  
kiff20072008
57 / 57 / 13
Регистрация: 28.09.2012
Сообщений: 358
22.10.2014, 21:32 #11
mital25, так в чем проблема?
вне диапазона 0-1 только число 5
все верно
1
mital25
6 / 6 / 1
Регистрация: 11.10.2013
Сообщений: 86
22.10.2014, 21:43  [ТС] #12
Цитата Сообщение от kiff20072008 Посмотреть сообщение
так в чем проблема?
вне диапазона 0-1 только число 5
все верно
вы меня не поняли там должно указаться колличество элементов вне диапазона
0
kiff20072008
57 / 57 / 13
Регистрация: 28.09.2012
Сообщений: 358
22.10.2014, 21:46 #13
mital25, ну так вы ввели 0-1
вне этого диапазона только элемент под номером 1

или вам что надо?
обьясняйтесь яснее
1
mital25
6 / 6 / 1
Регистрация: 11.10.2013
Сообщений: 86
22.10.2014, 21:54  [ТС] #14
Цитата Сообщение от kiff20072008 Посмотреть сообщение
или вам что надо?
мне необходимо колличесто элементов т.е общее колличество элементов которые не вошли в интервал
0
kiff20072008
57 / 57 / 13
Регистрация: 28.09.2012
Сообщений: 358
22.10.2014, 22:11 #15
mital25, что за интервал?
вот вы вводите числа 0 1
в этот интервал не должны попадать элементы массива?

или вы руководствуетесь логикой что вы ввели 0-1 и элементы номер 2 3 4 5 не вошли в этот интервал?
1
22.10.2014, 22:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2014, 22:11
Привет! Вот еще темы с ответами:

Найти произведение и количество отрицательных, и сумму и количество положительных элементов массива - C (СИ)
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) произведение и количество отрицательных элементов массива; ...

Рекурсия: найти количество положительных и количество четных элементов массива - C (СИ)
Доброго времени суток такая вот задачка функция получает массив и его размер и находит количество положительных чисел и количество...

Найти сумму максимального и минимального элементов заданного массива из 10 чисел - C (СИ)
найти сумму максимального и минимального элементов заданного массива из 10 чисел. исходник на паскале есть ... нужен перевод на Си var...

Найти количество элементов массива, больших всех предыдущих элементов - C (СИ)
найти количество элементов массива, больших всех предыдущих элементов.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.