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

Сортировка массива структур по первым трём цифрам одного из его элементов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задан массив из k элементов http://www.cyberforum.ru/cpp-beginners/thread384022.html
языком С++ нужно написать прогу. Задан массив из k элементов, все отрицательные элементы переместить в начало, а остальные в конец, сохранив взаимное расположене между элементами. Таким путём задать 2 массива. Потом все отр элементы нашего массива кинуть в 1й массив, а остальные во 2й. Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
C++ Задача на массивы Удалить из массива M(25) все элементы, значения которых в этом массиве, оставить по одному. Элементы массива задать рандомно. Есть какие-нибудь способы решения? http://www.cyberforum.ru/cpp-beginners/thread384018.html
написал прогу но в чем косяк она не работает C++
задание и мое решение во вложениях скажите где не правильно а то задолбался уже 2 день на ней сижу Прикрепляйте изображения к сообщению. А вообще текст и код выкладывайте текстом, а не картинками. Читать с картинок жутко неудобно.
Как написать программу, которая посчитает количество слов в строке? C++
Помогите пожалуйста.(:
C++ рекуррентные формулы,и различные циклы. Вычислить приблеженное значение бескноечной суммы http://www.cyberforum.ru/cpp-beginners/thread383994.html
Вычислить приближенное значение бесконечной суммы (при n стремящимся к бесконечности) с заданным общим членом двумя способами, используя разные типы циклов: 1)с заданной точностью; 2)для заданного числа членов ряда. 3) вычислить n-ый член ряда с помощью рекурсивной функции номер выбора задания реализовать при помощи оператора выбора
C++ вывести элементы, значения которых строго больше 50 Нужно вывести элементы, значения которых строго больше 50. В двумерном массиве 3х4. Пожалуйста, не могу вообще разобраться)) :cry: Буду очень благодарна) подробнее

Показать сообщение отдельно
Zoominger
363 / 252 / 62
Регистрация: 22.06.2010
Сообщений: 1,566
14.11.2011, 22:12  [ТС]     Сортировка массива структур по первым трём цифрам одного из его элементов
Адовый бред (перенос первых трёх цифр номера первой структуры в массив temp_temp_array и последующим сравнением всех других номеров с ним, если больше - поменять структуры местами), сам запутался.

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
#include <iostream>
#include <iomanip>
#include <string>
//Допилить сортировку
using namespace std;
 
int main()
{
    struct note{
                  char name[];
                  char thname[];
                  char telnum[];
                  int birthday[3];
               }; 
    note w[9]; //Девятый - БУФЕР
    char temp_array[3], temp_temp_array[3];
    string tname;
    int one_mass, two_mass;
    bool a, b;
    a = false;
    b = true;
   for(int i=1; i<8; i++){ 
             cout << "BBog gaHHblx (uM9l, familia, HOMEP TEJlEfOHA, DeHb Po}|{geHu9l, MeczLL u rog: \n";
                      cin >> w[i].name >> w[i].thname >> w[i].telnum >> w[i].birthday[1] >> w[i].birthday[2] >> w[i].birthday[3];
                      if(b == true){
                     for(int j=1; j<3; j++)temp_temp_array[j] = w[i].telnum[j];
                     one_mass = i;
                               };
                      for(int j=1; j<3; j++){temp_array[j] = w[i].telnum[j]; two_mass = i;}; //Перенос первых трёх цифр номера во временный массив
                      if(b == false){
                     if(temp_array[1] > temp_temp_array[1]){
                                                            w[9] = w[one_mass];
                                                            w[one_mass] = w[i];
                                                            w[i] = w[9];
                                                   };
                    if(temp_array[1] == temp_temp_array[1]){
                                                        if(temp_array[2] > temp_temp_array[2]){
                                                                    w[9] = w[one_mass];
                                                                                 w[one_mass] = w[i];
                                                                    w[i] = w[9];
                                                        };
                                        if(temp_array[2] == temp_temp_array[2]){
                                                        if(temp_array[2] > temp_temp_array[2]){
                                                                               w[9] = w[one_mass];
                                                                               w[one_mass] = w[i];
                                                                               w[i] = w[9];
                                                                              };
                                        if(temp_array[2] == temp_temp_array[2]){
                                                                if(temp_array[2] > temp_temp_array[2]){
                                                                            w[9] = w[one_mass];
                                                                                                          w[one_mass] = w[i];
                                                                            w[i] = w[9];
                                                                                                                           };
                                                                                };                                  
                                    };                                  
                                                                             };
                                          };
     b = false;
                           };   
    cout << "BBeguTe faMuJlu}O: \n";
 
    for(int r=1; r<=8; r++)cout << w[r].telnum[1] << w[r].telnum[2] << w[r].telnum[3] << endl;
    for(int i=1; i<=8; i++){
                           if(tname == w[i].thname){
                                                    cout << "uM9l: " << w[i].name << ", familia: " << w[i].thname << ", HOMEH TELEFOHA: " << w[i].telnum << ", gaTa po}|{geHu9l: " << w[i].birthday[1] << "." << w[i].birthday[2] << "." << w[i].birthday[3];
                                                    a = true;
                                                 };
                        };
    if(a == false) cout << "3anuceu HE o6Hape}|{eHo! \n";
    return 0;
}
Добавлено через 3 минуты
Поправил разметку *
 
Текущее время: 02:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru