Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84

Массив

18.02.2010, 20:18. Показов 2105. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем.Помогите пожалуйста решить задачу.
Дан массив. Найти k наименьших элементов.
Т.е с клавы вводится k и если в массиве
3 4 76 4 2 4
k=3
То выведется 3 4 4 2 4
P.S.. Выводить числа в той же последовательности в которой они были в массиве.
P.P.S. Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2010, 20:18
Ответы с готовыми решениями:

Массив: Преобразовать массив, прибавив к четным числам, входящим в массив, значение первого элемента.
Есть задача С клавиатуры вводятся элементы целочисленного массива размера N. Преобразовать его, прибавив к четным числам, входящим в...

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

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

22
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
21.02.2010, 21:35
Студворк — интернет-сервис помощи студентам
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
for(i=0; i<n; i++)// в этой строке и в двух ниже ищем самый минимальный элемент массива, значение которого запишем в переменную min
if(min>mas[i])
min=mas[i];
while(kol_min<k && fl) начинаем цикл, который закончится когда fl станет равным нулю или переменная kol_min (сейчас эта переменная равна 1) станет равной k (сейчас она равна 3) - т.е. когда вычислим три самых минимальных элемента
{
fl1=0;
fl=0;
for(i=0; i<n; i++)// в этой строчке и семи ниже ищем первый попавшийся элемент массива, который больше min, если такого не найдем, то fl останется равной 0 и мы выйдем из цикла
{
if(!fl1 && mas[i]>min)
{
fl1=1;
temp=mas[i];
fl=1;
}
if(fl && temp>mas[i] && mas[i]>min)// в этой строке и двумя строчками ниже ищем минимальный элемент в массиве, но который больше значения в min, найденное значение записываем в temp
temp=mas[i];
}
kol_min++;// увеличиваем переменную на 1
min=temp;// присваиваем min значение temp
}
По окончании этого цикла в переменной min находится самое большое из минимальных значений которые нужно вывести на экран. Остается дело за малым...
1
 Аватар для Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
21.02.2010, 23:07  [ТС]
valeriikozlov, Спасибо большое.И если трудно не мог бы ты помочь мне дорешать программу.
Эта программа является подпрограммой к мой задаче. Хотел оставшееся дорешать сам но уже сижу часа 3,5 но не получается нормально оптимизовать и закончить,получается что-то для частных случаев. Если не впадлу вот задача.
Дан массив. Найти k наименьших элементов,и вставить их после первого максимального элемента массива.

Добавлено через 40 секунд
valeriikozlov, Спасибо большое.И если не трудно не мог бы ты помочь мне дорешать программу.
Эта программа является подпрограммой к мой задаче. Хотел оставшееся дорешать сам но уже сижу часа 3,5 но не получается нормально оптимизовать и закончить,получается что-то для частных случаев. Если не впадлу вот задача.
Дан массив. Найти k наименьших элементов,и вставить их после первого максимального элемента массива.[/QUOTE]
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
22.02.2010, 07:33
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <iostream>
#include <process.h>
using namespace std;
int main ()
{
    int k, i, j, kol_min=1, min, fl=1, temp, fl1, *mas, n, *mas_min, i_min, i_max;
    cout<<"Vvod kol-vo elementov massiva: ";
    cin>>n;   
    mas=new int[n];
    for(i=0; i<n; i++)
    {
        cout<<"Vvod ["<<i<<"]= ";
        cin>>mas[i];
    }
    cout<<"Vvod znacheniy k:";
    cin>>k;    
        min=mas[0];
        for(i=0; i<n; i++)
                if(min>mas[i])
                        min=mas[i];
        while(kol_min<k && fl)
        {
                fl1=0;
                fl=0;
                for(i=0; i<n; i++)
                {
                        if(!fl1 && mas[i]>min)
                        {
                                fl1=1;
                                temp=mas[i];
                                fl=1;
                        }
                        if(fl && temp>mas[i] && mas[i]>min)
                                temp=mas[i];
                }
                kol_min++;
                min=temp;
        }
        if(!fl)
        {
                cout<<"Stolko minimalnih elementov net"<<endl;
                exit(1);
        }
        kol_min=0;
        i_max=0;
        for(i=0; i<n; i++)
        {
           if(mas[i]<=min)
               kol_min++;
           if(mas[i]>mas[i_max])
               i_max=i;
        }
        mas_min=new int[kol_min];
        i_min=0;
        for(i=0; i<n; i++)
           if(mas[i]<=min)
           {
               mas_min[i_min]=mas[i];
               i_min++;
           }
        temp=i_max;
        for(i=0; i<temp; i++)
            if(mas[i]<=min)
            {
                for(j=i; j<temp; j++)
                    mas[j]=mas[j+1];
                temp--;
                i--;
            }
        for(i=n-1; i>i_max; i--)
            if(mas[i]<=min)
            {
                for(j=i; j>i_max; j--)
                    mas[j]=mas[j-1];
                i++;    
            }
        for(i=0; i<kol_min; i++)
            mas[temp+1+i]=mas_min[i];
        cout<<"Itogovi massiv: "<<endl;
        for(i=0; i<n; i++)
            cout<<mas[i]<<"  ";
        cout<<endl; 
    return 0; 
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.02.2010, 07:33

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

Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y
Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y. ...

Сформировать массив, который будет состоять из чисел, входящих как в массив A, так и в массив B
Задание: На основе исходных массивов A и B (n и m – рабочие размеры массивов) сформировать массив C, который будет состоять из чисел,...

Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C
Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C.

Дан массив целых чисел а(12). Переписать в массив х четные, а в массив у нечетные элементы массива а
Помогите пожалуйста решить эту задачу. Массив a выводит на печать. Я пишу a mod 2 = 0 , а он мне 41 ошибку выдает. Что делать? Вот...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru