Форум программистов, компьютерный форум CyberForum.ru

Создать стек из случайных целых чисел и отсортировать элементы по возрастанию (убыванию) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать стек из случайных целых чисел и удалить из него каждый второй элемент http://www.cyberforum.ru/cpp-beginners/thread889933.html
Можете помочь с заданием???Дана программа: #include <iostream> #include <malloc.h> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ typedef struct Node// указатель на стек { char value;
C++ Создать стек из случайных целых чисел и поменять местами крайние элементы Можете помочь с заданием???Дана программа: #include <iostream> #include <malloc.h> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ typedef struct Node// указатель на стек { char value; http://www.cyberforum.ru/cpp-beginners/thread889929.html
C++ Изменение порядка элементов
Дана действительная матрица размером MхN. Расположить элементы прямоугольной матрицы в противоположном порядке, причем сначала расположить в противоположном порядке строки матрицы, а потом столбцы. Помогите пожалуйста, очень трудная для меня задачка :<
C++ STL алгоритм find, найти элементы
Здраствуйте! У меня есть например массив vector<int> mas = {1,2,3,4,4,4,5,6}; Найти надо элемент 4, но find ищет только первый этот элемент в массиве, а мне надо что бы он нашёл все элементы 4. и вывести их позиции. void masuv::search(int a) { vector<int>::iterator it; it = find(mas.begin(), mas.end(), a); if (it == mas.end())
C++ Хранение сложных классов в контейнере http://www.cyberforum.ru/cpp-beginners/thread889917.html
Всем, привет. Прошу помощи в одной проблемке. В общем у нас должны быть два контейнера. Один должен хранить объекты по значению, а второй эти же объекты по указателю. Так вот после того как я добавляю указатель, я потом не могу обратиться к этому же объекту по этому же указателю, будто указатель никуда не указывает. Как я понял, vector при добавлении в него объекта (по значению), может...
C++ Builder Замена максимальных элементов массива нулями Знаю что все предельно банально, но не получается малеха: не получается корректно(с заменой макс эл на 0) вывести массив в мемо. на форме: 2 мемо,1 едит,1баттон. Builder6 void __fastcall TForm1::BitBtn1Click(TObject *Sender) { подробнее

Показать сообщение отдельно
shurikspk
 Аватар для shurikspk
396 / 217 / 34
Регистрация: 10.02.2013
Сообщений: 780
03.06.2013, 23:38     Создать стек из случайных целых чисел и отсортировать элементы по возрастанию (убыванию)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int* new_memory(int **str, int *kol_elem)  //создание функции выделения памяти
{
    if(*str!=NULL)   // проверка пуст ли указатель на динамический массив
    printf("Сн ч л  освободите п мять");
    else
    {
        kol_elem=(int*) malloc(sizeof(int));  // создание динамической переменной под количество елементов массива
    printf("Введите количество елементов: ");
        scanf("%d", kol_elem);   // их ввод
 
    *str = (int*)malloc(sizeof(int)*(*kol_elem));  // создание самого массива
          for (int i=0; i<(*kol_elem); i++)
             str[i]=rand()% 100;  // заполняем массив элементами до 100
    }
    return kol_elem;  // возврат указателя на количество элементов
}
это создание массива

Добавлено через 15 минут
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
typedef bool (*sravnen) (int, int);  // указатель на функцию сравнения 2 чисел
/*сравнение 2 элементов*/
bool sr_vozr(int value_1, int value_2)  //функция сравнения 2 чисел по возростанию  value_2<value_1
{
    if(value_2<value_1)
        return true;
    else
        return false;
}
 
/*сравнение 2 элементов*/
bool sr_ubivan(int value_1, int value_2) //функция сравнения 2 чисел по убыванию value_2>value_
{
    if(value_2>value_1)
        return true;
    else
        return false;
}
 
/*сортировка методом простого включения*/
void sort_kartochnaya(int* array, int kol, sravnen point)  //функция которая содержит во входных параметрах массив, его длину, метод сравнения (убывание , возростание) 
{
    if(array==NULL)
        printf("Массив пуст или не создан! Сортировка невозможна!!!\n");
    else
    {
    int temp;  // временная переменая для переписи элементов 
    for(int i=1; i<kol; i++) // идем по массиву с первого элем
    {
        temp=array[i]; // присваеваем темпу і элем 
        int j=i-1; //  объявляем j и присваем ему i-1 индекс i-1
        do 
        {
            if(point(array[j], temp)==1)  // сравнение элементов по индексам i и j
                {
                    array[j+1]=array[j]; //в элем j+1 то есть i запишем элем j
                    j--;  //  уменьшим j
                }
                else 
                    break;
 
        }
        while(j>=0); // выходим из цыкла когда  (j>=0) то есть начало массива
        array[j+1]=temp;  //  в элем j+1  запишем элем i
    }
    }
}
 
Текущее время: 10:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru