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

C++

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

СИ++ Бел. Гос. Универ. Инф. и Рад-ники - C++

22.12.2009, 12:50. Просмотров 697. Ответов 4
Метки нет (Все метки)

Помогите очень нужно, у меня ступор, я не знаю че делать задачи для вас легкие. Кто откликнется тому +1 спасенная жизнь. И хотелось бы до 23.12.09. Или дайте конспекты максимально подробные(для тупых, то есть для меня).

Лабораторная работа № 2
8. Ввести массив из 20 чисел. Упорядочить их сначала в порядке возрастания, затем – в порядке убывания.

ЛАБОРАТОРНАЯ РАБОТА № 3
8. Разработать программу, реализующую следующие функции:
1. создать очередь,
2. удалить элемент,
3. добавить элемент,
4. закольцевать очередь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2009, 12:50     СИ++ Бел. Гос. Универ. Инф. и Рад-ники
Посмотрите здесь:

База Данных Автомастерская.Сдавать в универ - C++
БД Автомастерская (3 таблицы). 1. Номер заказа, гос.номер авто, дата поступления, поломка(одно слово) 2. гос. номер авто, марка,...

Распознавание гос. номера автомобиля - C++ Builder
В общем решил сделать программу, которая сможет на картинке найти и распознать номер автомобиля. Насколько я понимаю, программа должна...

Помогите, ГОС экзамен! Является ли число степенью другого числа - C++
Нужно написать программу определения является ли натуральное число степенью какого-либо натурального числа. Вообще нужно написать на...

Добавить в список элемент после элемента с заданным инф.полем [Однонаправленный список] - C++
Вообщем есть: Функция создание списка Функции вывода на экран Функция добавление элемента с номером k А нужно ввести...

Перевод старой бел валюты в новую - OpenCart
Народ привет. Дали сайт на OC, там сейчас стоит бел валюта до деноминации. Как разом перевести все цены в деноминированную валюту? То есть...

Игровой компьютер за 1600 бел. рублей(800-850 долларов) - Игровой компьютер
Добрый день. Помогите собрать игровой ПК за столь небольшую сумму(желательно с видеокартой gtx 1070).

bat-ники - Смартфоны
Как запустить обновление в формате exe, который нужно запускать через FAR или Norton нажав Ctrl+Enter и дописать -j -y. И чтоб это все...

запрещенные ники - PHP
Всем доброго дня. Парни помогите не могу разобраться. Какой нужен код для того, что бы на сайте. Было запрещено регать ники (маты и...

Крутые ники - Обо всем!
Вот меня раздражают всякие люди, которые берут себе ники типа богтьмы, или супер-чета-там... и так далее... и идут задавать свои глупые...

Ники пользователей запарился! - PHP Сети
У меня вопрос вот есть к примеру сайт,я на нём авторизируюсь $url = "locked"; $urlTo = 'locked'; $login = 'locked'; // Âàø ëîãèí ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
22.12.2009, 14:19     СИ++ Бел. Гос. Универ. Инф. и Рад-ники #2
прежде тем, как писать какой то алгоритм следует почитать про него, а не самому придумывать,
ты бы еще интерполяцию сплайнами сам расчитывал, чтобы ваще мозг погубить
вот тебе первая (лр№2), разбирись в ней внимательно.
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
#include <iostream>
#include <conio.h>
using namespace std;
void set(int m[],int n,int down,int up)
{
     srand(time(0));
     for (int i=0;i<n;i++)m[i]=rand()%up+down;
}
void print(int m[],int n)
{
     for (int i=0;i<n;i++)cout << "["<<i<<"]="<<m[i]<<" ";
     cout << endl;
}
 
void sortmax(int m[],int n)
{
     //сортировка "пузырьковая" - самая простая.
     //про неё на википедии написано
     for (int i=n;i>=0;i--)
         for (int j=0;j<i;j++)
             if (m[j]>m[j+1])
             {
                //если следующий меньше предыдущего то меняем их местами.
                int temp=m[j];
                m[j]=m[j+1];
                m[j+1]=temp;
             }
}
 
void sortmin(int m[],int n)
{
     //сортировка тоже "пузырьковая" но в обратную сторону.
     for (int i=0;i<n;i++)
         for (int j=n-1;j>i;j--)
             if (m[j]>m[j-1])
             {
                int temp=m[j];
                m[j]=m[j-1];
                m[j-1]=temp;
             }
}
 
int main()
{
    const int n=10;
    int M[n];
    set(M,n,1,10);
    print(M,n);
    sortmax(M,n);
    print(M,n);
    //вместо sortmin можно просто инверсировать M и все.
    sortmin(M,n);
    print(M,n);
    getch();
    return 0;
}
Terror
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 4
22.12.2009, 14:21  [ТС]     СИ++ Бел. Гос. Универ. Инф. и Рад-ники #3
Цитата Сообщение от Aye Aye Посмотреть сообщение
прежде тем, как писать какой то алгоритм следует почитать про него, а не самому придумывать,
ты бы еще интерполяцию сплайнами сам расчитывал, чтобы ваще мозг погубить
вот тебе первая (лр№2), разбирись в ней внимательно.
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
#include <iostream>
#include <conio.h>
using namespace std;
void set(int m[],int n,int down,int up)
{
     srand(time(0));
     for (int i=0;i<n;i++)m[i]=rand()%up+down;
}
void print(int m[],int n)
{
     for (int i=0;i<n;i++)cout << "["<<i<<"]="<<m[i]<<" ";
     cout << endl;
}
 
void sortmax(int m[],int n)
{
     //сортировка "пузырьковая" - самая простая.
     //про неё на википедии написано
     for (int i=n;i>=0;i--)
         for (int j=0;j<i;j++)
             if (m[j]>m[j+1])
             {
                //если следующий меньше предыдущего то меняем их местами.
                int temp=m[j];
                m[j]=m[j+1];
                m[j+1]=temp;
             }
}
 
void sortmin(int m[],int n)
{
     //сортировка тоже "пузырьковая" но в обратную сторону.
     for (int i=0;i<n;i++)
         for (int j=n-1;j>i;j--)
             if (m[j]>m[j-1])
             {
                int temp=m[j];
                m[j]=m[j-1];
                m[j-1]=temp;
             }
}
 
int main()
{
    const int n=10;
    int M[n];
    set(M,n,1,10);
    print(M,n);
    sortmax(M,n);
    print(M,n);
    //вместо sortmin можно просто инверсировать M и все.
    sortmin(M,n);
    print(M,n);
    getch();
    return 0;
}
СПАСИБО ДОБРЫЙ ЧЕЛОВЕК!!!))))Я уже потерял надежду что хоть кто то откликнется! Низкий тебе поклон.
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
22.12.2009, 15:59     СИ++ Бел. Гос. Универ. Инф. и Рад-ники #4
вот следующая, но аккуратней, в процидуре удаления элемента delelem не все гладко, я не заю как она поведет себя удаляя последний элемент, проверь её. Иваще потестируй прогу как следует.
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include <iostream>
#include <conio.h>
using namespace std;
struct queue{
       queue *next;
       queue *prior;
       int info;
       queue(){info=0;next=0;prior=0;}
       queue(int newinfo){info=newinfo;next=0;prior=0;}
       queue(int newinfo,queue *n,queue *p):info(newinfo){next=n;prior=p;}
};
 
void add(int info,queue *Node)
{
     if (Node)
     {
        if (!Node->next)
        {
           Node->next=new queue(info,0,0);
           Node->next->prior=Node;
        }
        else add(info,Node->next);
     }
     else cout << "Error - can not add reason: Queue is not exist!\n";
}
 
int get(queue *Node)
{
    if (Node)
    {
    if (Node->next)
    {
       queue *qptemp=Node->next;
       int ntemp=Node->info;
       delete Node;
       *Node=*qptemp;
       return ntemp;
    }
    else 
    {
         int ntemp=Node->info;
         delete Node;
         return ntemp;         
    }
    }else{cout << "Error - can not get reason: Queue is empty\n";return 0;}
}
 
void del(queue *Node)
{
     if(Node->next)del(Node->next);
     else delete Node;Node=0;
}
 
queue &getlast(queue *Node)
{
      if (Node)
      {
         if(Node->next)return getlast(Node->next);
         else return *Node;
      }
}
 
void cycle(queue *Node)
{
     if (Node!=NULL)
     {
        getlast(Node).next=Node;
     }
     else cout << "Error - can nod cycling reason: Queue is empty";
}
 
void delelem(queue *THIS,int key)
{
     if (THIS)
     {
        if ((THIS->info==key)&&(THIS->prior)) 
        {
           THIS->prior->next=THIS->next;
           delete THIS;
        }
        if ((THIS->info==key)&&(!THIS->prior))
        {
           delete THIS;
        }
        if (THIS->info!=key) delelem(THIS->next,key);
     }else cout << "Error - can nod cycling reason: Queue is empty";
}
 
void print(queue *Node)
{
     if (Node)
     {
         cout << Node->info << " "; 
         if (Node->next)print(Node->next);
     }else cout<<"Nothing no print reason: Queue is empty";
}
 
int main()
{
    queue *Q=0;
    get(Q);
    print(Q);cout << endl;
    Q=new queue(4);//создание очереди
    add(12,Q);
    add(8,Q);
    add(3,Q);
    add(5,Q);
    print(Q);
    
    cout <<"\n-----let's-get-them!---------------\n";
    cycle(Q);
    
    delelem(Q,8);//удаление элемента
    
    int i=get(Q);
    cout <<"First "<< i<<" then ";
    i=get(Q);
    cout << i<<" then ";
    i=get(Q);
    //cout << i<<" then ";
    //i=get(Q);
    cout << i<<" then ";
    i=get(Q);
    cout << i<<" end\n";
    
    getch();
    return 0;
}
Terror
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 4
22.12.2009, 16:01  [ТС]     СИ++ Бел. Гос. Универ. Инф. и Рад-ники #5
Цитата Сообщение от Aye Aye Посмотреть сообщение
вот следующая, но аккуратней, в процидуре удаления элемента delelem не все гладко, я не заю как она поведет себя удаляя последний элемент, проверь её. Иваще потестируй прогу как следует.
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include <iostream>
#include <conio.h>
using namespace std;
struct queue{
       queue *next;
       queue *prior;
       int info;
       queue(){info=0;next=0;prior=0;}
       queue(int newinfo){info=newinfo;next=0;prior=0;}
       queue(int newinfo,queue *n,queue *p):info(newinfo){next=n;prior=p;}
};
 
void add(int info,queue *Node)
{
     if (Node)
     {
        if (!Node->next)
        {
           Node->next=new queue(info,0,0);
           Node->next->prior=Node;
        }
        else add(info,Node->next);
     }
     else cout << "Error - can not add reason: Queue is not exist!\n";
}
 
int get(queue *Node)
{
    if (Node)
    {
    if (Node->next)
    {
       queue *qptemp=Node->next;
       int ntemp=Node->info;
       delete Node;
       *Node=*qptemp;
       return ntemp;
    }
    else 
    {
         int ntemp=Node->info;
         delete Node;
         return ntemp;         
    }
    }else{cout << "Error - can not get reason: Queue is empty\n";return 0;}
}
 
void del(queue *Node)
{
     if(Node->next)del(Node->next);
     else delete Node;Node=0;
}
 
queue &getlast(queue *Node)
{
      if (Node)
      {
         if(Node->next)return getlast(Node->next);
         else return *Node;
      }
}
 
void cycle(queue *Node)
{
     if (Node!=NULL)
     {
        getlast(Node).next=Node;
     }
     else cout << "Error - can nod cycling reason: Queue is empty";
}
 
void delelem(queue *THIS,int key)
{
     if (THIS)
     {
        if ((THIS->info==key)&&(THIS->prior)) 
        {
           THIS->prior->next=THIS->next;
           delete THIS;
        }
        if ((THIS->info==key)&&(!THIS->prior))
        {
           delete THIS;
        }
        if (THIS->info!=key) delelem(THIS->next,key);
     }else cout << "Error - can nod cycling reason: Queue is empty";
}
 
void print(queue *Node)
{
     if (Node)
     {
         cout << Node->info << " "; 
         if (Node->next)print(Node->next);
     }else cout<<"Nothing no print reason: Queue is empty";
}
 
int main()
{
    queue *Q=0;
    get(Q);
    print(Q);cout << endl;
    Q=new queue(4);//создание очереди
    add(12,Q);
    add(8,Q);
    add(3,Q);
    add(5,Q);
    print(Q);
    
    cout <<"\n-----let's-get-them!---------------\n";
    cycle(Q);
    
    delelem(Q,8);//удаление элемента
    
    int i=get(Q);
    cout <<"First "<< i<<" then ";
    i=get(Q);
    cout << i<<" then ";
    i=get(Q);
    //cout << i<<" then ";
    //i=get(Q);
    cout << i<<" then ";
    i=get(Q);
    cout << i<<" end\n";
    
    getch();
    return 0;
}
Пасибо большое! Только ты смог мне помочь! Очень благодарен! Gracias!
Yandex
Объявления
22.12.2009, 16:01     СИ++ Бел. Гос. Универ. Инф. и Рад-ники
Ответ Создать тему
Опции темы

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