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

Упорядочить список целых чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить номера тех строк матрицы, у которых знак произведения их элементов отрицателен http://www.cyberforum.ru/cpp-beginners/thread1187456.html
Задана матрица с 2 столбцами и N строками. Определить номера тех строк, у которых знак произведения их элементов отрицателен.
C++ Return многомерного массива не понимаю как передавать многомерные массивы в c++. есть массив char arr есть два класса. в первом должен быть метод который будет возвращать массив arr. т.е. что-то вроде: char getArr() { return this->arr; } в другом классе будет вызываться сей метод и осуществляться следующая работа: char arr = class1->getArr(); for(int i=0;i<sizeof(arr);i++) { http://www.cyberforum.ru/cpp-beginners/thread1187453.html
Сортировка массива методом пузырька C++
Доброго времени суток уважаемые форумчане. Столкнулся с такой проблемой, не знаю как её решить. Суть задачи такова: Нужно реализовать функции: void max(int* tab) // загоняет в массив цифры по возрастанию void min(int* tab) // по убыванию void bubble(int* tab) Первые две функции заполняют массив значениями в соответствующем порядке. (по возрастанию: 0, 1, 2...n-1; по убыванию: n-1, n-2,...,...
C++ Функция находит в строке первый символ, который не входит в другую строку
Нужно написать собственную функцию, которая находит в строке первый символ, который не входит в другую заданную строку. Есть код, но работает не очень. Если ввести: 1 строка "малая рама" и 2 строка "малая рана" то он выведет символ "м", а символ "м", входит в строку:( Вообще функция сравнения, сделана не правильно, как переделать не знаю:( Помогите пожалуйста... #include <iostream> #include...
C++ Даны целые числа a1…a10, целочисленная квадратная матрица порядка n http://www.cyberforum.ru/cpp-beginners/thread1187424.html
Даны целые числа a1…a10, целочисленная квадратная матрица порядка n. Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные среди a1…a10. Помогите написать код, пожалуйста. Добавлено через 1 час 17 минут Уже не нужно, сам написал уже.
C++ Ошибка "Debug Assertion Failed" Привет всем. Я практикуюсь в работе с файлами. Решил написать простенькую программу для вывода суммы двух чисел. Но программа выдает ошибку "Debug Assertion Failed". Что я должен исправить в коде? #include <stdio.h> #include <conio.h> int main() { int n,m; FILE *c; FILE *d; подробнее

Показать сообщение отдельно
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
25.05.2014, 22:36  [ТС]     Упорядочить список целых чисел
Спасибо)

Добавлено через 7 часов 44 минуты
Я попытался реализовать эту же задачу не используя функцию sort(), так, как мы делали на уроке, но здесь у меня опять возникла проблема вывода на экран. Пожалуйста, помогите сделать ввод с клавиатуры.

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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <iostream>
 
using namespace std;
 
struct Node       //Структура являющаяся звеном списка
 {
     int x;     //Значение x будет передаваться в список
     Node *Next,*Prev; //Указатели на адреса следующего и предыдущего элементов списка
 };
 
 class List   //Создаем тип данных Список
 {
     Node *Head,*Tail; //Указатели на адреса начала списка и его конца
 
 public:
     List():Head(NULL),Tail(NULL){}; //Инициализируем адреса как пустые
     ~List(); //Деструктор
     void Show(); //Функция отображения списка на экране
     void Add(int x); //Функция добавления элементов в список
     void Sort();
 };
 
List::~List() //Деструктор
 {
     while (Head) //Пока по адресу на начало списка что-то есть
     {
         Tail=Head->Next; //Резервная копия адреса следующего звена списка
         delete Head; //Очистка памяти от первого звена
         Head=Tail; //Смена адреса начала на адрес следующего элемента
     }
 }
 
 void List::Add(int x)
 {
   Node *temp=new Node; //Выделение памяти под новый элемент структуры
   temp->Next=NULL;  //Указываем, что изначально по следующему адресу пусто
   temp->x=x;//Записываем значение в структуру
 
   if (Head!=NULL) //Если список не пуст
   {
       temp->Prev=Tail; //Указываем адрес на предыдущий элемент в соотв. поле
       Tail->Next=temp; //Указываем адрес следующего за хвостом элемента
       Tail=temp; //Меняем адрес хвоста
   }
   else //Если список пустой
   {
       temp->Prev=NULL; //Предыдущий элемент указывает в пустоту
       Head=Tail=temp; //Голова=Хвост=тот элемент, что сейчас добавили
   }
 }
 
 void List::Show()
 {
//ВЫВОДИМ СПИСОК С КОНЦА
     Node *temp=Tail;
      //Временный указатель на адрес последнего элемента
     while (temp!=NULL) //Пока не встретится пустое значение
     {
     cout<<temp->x<<" "; //Выводить значение на экран
     temp=temp->Prev; //Указываем, что нужен адрес предыдущего элемента
     }
     cout<<"\n";
/*
 //ВЫВОДИМ СПИСОК С НАЧАЛА
     temp=Head; //Временно указываем на адрес первого элемента
      while (temp!=NULL) //Пока не встретим пустое значение
     {
     cout<<temp->x<<" "; //Выводим каждое считанное значение на экран
     temp=temp->Next; //Смена адреса на адрес следующего элемента
     }
     */
     cout<<"\n";
 }
 
 void List::Sort()
 {
 
    Node * list = Head; // связанный список
    Node * node, * node2;
 
      for( node = list; node; node = node->Next )
        for( node2 = list; node2; node2 = node2->Next )
            if( node->x > node2->x ){ // если число из node меньше числа из node2 то переставляем их
                int i = node->x;
                node->x = node2->x;
                node2->x = i;
            }
 
     std::cout<<"\n";
 
 }
 
int main ()
{
// system("CLS");
 List lst; //Объявляем переменную, тип которой есть список
 lst.Add(1); //Добавляем в список элементы
 lst.Add(2);
 lst.Add(3);
 lst.Add(4);
 lst.Add(5);
 
 
 
 lst.Show(); //Отображаем список на экране
 lst.Sort();
  lst.Show();
 cout<<"\n";
 
 
//  system("PAUSE");
}
 
Текущее время: 01:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru