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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mrd
1 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 22
#1

Массив - C++

28.11.2011, 21:53. Просмотров 271. Ответов 5
Метки нет (Все метки)

Найти k-ый положительный элемент массива, больший среднего всех чисел.

Добавлено через 1 час 35 минут
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
int main()
{
        const int n = 8;
        int i, k, S=0, t, c=0;
        int a[n], b[10];
        float Sr;
        printf("Input k: ", k);
        scanf("%d", &k);
        printf("Input %d elements massiv: ", n);
        for(i = 0; i < n; i++)
        scanf("%d", &a[i]);
        for(i = 0; i < n; i++)
        {
                S = S + a[i];
        }
        Sr = S/n;
        for(i = 0; i < n; i++)
        {
                if (a[i]> 0 && a[i]> Sr)
                {
                        b[i] = a[i];
                        c++;
                }
        }
        for(i = 0; i < c; j++)
        {
                if(i == k)
                t = b[i];
        }
        printf("%d ", b[i]);
        printf("\nSr = %f", Sr);
        printf("\nk positive el: %d ", t);
        getch();
        return 0;
}
помогите исправить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 21:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив (C++):

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2) - C++
из массивов A и B сформировать массив C так, чтобы элементы массива располагались следующим образом: A(1) B(1) A(2) B(2) и т.д.

Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив - C++
ввести двумерный массив I . найти номера столбцов с положительными элементами и записать их в одномерный массив, отобразить его на экране. ...

5
Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54
28.11.2011, 22:02 #2
что-то ты там намудрил по-страшному.
откуда у тя j появилось в последнем цикле?
и почему сразу не определить к-ый элемент и не вывести только его?
0
mrd
1 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 22
28.11.2011, 22:08  [ТС] #3
j это просто опечатка. ну как я понял задание, нужно найти элементы удовлетворяющие условию, а потом из них выбрать к-ый? или не так?
0
Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54
28.11.2011, 22:14 #4
а не проще сразу проверять i = k, и выводить его, если все норм,
else ошибочка
0
mrd
1 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 22
28.11.2011, 22:17  [ТС] #5
может проще, только я уже совсем запутался...
0
shtefeek
5 / 5 / 0
Регистрация: 30.10.2010
Сообщений: 22
28.11.2011, 22:27 #6
Не нашел смысла в этом участке кода:
C
1
2
3
4
5
6
7
8
for(i = 0; i < c; j++)
        {
                if(i == k)
                t = b[i];
        }
        printf("%d ", b[i]);
        printf("\nSr = %f", Sr);
        printf("\nk positive el: %d ", t);
i++,а не j++
ну это ладно еще, но зачем создавать цикл, можно просто написать
C
1
printf("%d",b[k])
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
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
        const int n = 8;
        int i, k, S=0, t, c=0,j=1;
        int a[n], b[10];
        float Sr;
        printf("Enter k - ");
        scanf("%d",&k);
        for (i=0;i<n;i++)
        {
            printf("a[%d]=",i+1);
            scanf("%d",&a[i]);
        }
        for (i=0;i<n;i++)
        {
            S=S+a[i];
        }
        Sr=S/n;
        for (i=0;i<n;i++)
        {
            if (a[i]>0 && a[i]>Sr)
            {
                           b[j]=a[i];
                           j++;
                       }
        }
        printf("B[k]=%d\n",b[k+1]);
        system("PAUSE");
        return 0;
        }
1
28.11.2011, 22:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 22:27
Привет! Вот еще темы с ответами:

с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого - C++
с клавиатуры ввести массив,во второй записать нечетные элеиенты из первого.В третий массив записать четные элементы, стоящие на нечетных...

Массив: Переместить в массив Y все числа, дробная часть которых больше 5. - C++
Помогите решить, вообще не понимаю как в С++ с дробной частью работать. Задан массив X(N) дробных чисел. Переместить в массив Y все...

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....


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

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

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