Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

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

Исправить сортировку структуры - C++

12.05.2014, 08:15. Просмотров 252. Ответов 12
Метки нет (Все метки)

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
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
 
using namespace std;
    int const n=3;
struct ORDER {
       char plat[n],pol[n];
       float summa;
};
 int main()
{system("chcp 1251>0");
 ORDER tmp;
 ORDER Spisok[15];
 char nomer_plat[15];
 bool r=false;
 float snyataya_summa=0;
    for (int i=0;i<=n;i++)
     { cout<<"Платильщик - ";
        cin>>Spisok[i].plat;
        cout<<"Получатель - ";
        cin>>Spisok[i].pol;
        cout<<"Перечисляемая сумма - ";
        cin>>Spisok[i].summa;
     }
for (int i=0;i<=n;i++)
        for (int j=0;j<=n;j++)
            {
             if ( i != j )
             if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
                {
                  tmp=Spisok[j];
                  Spisok[j]=Spisok[i];
                  Spisok[i]=tmp;
                }
            }
   for (int i=0;i<=n;i++)
   cout<<"Плательщик "<<Spisok[i].plat<<" Получатель "<<Spisok[i].pol<<" Сумма "<<Spisok[i].summa<<"\n";
   cout<<"Введите номер лицевого счета(плательщика)\n";
   cin>>nomer_plat;
   for (int i=0;i<=n;i++)
       if (strcmp(&Spisok[i].plat[0], &nomer_plat[0]) == 0 ) //выдает ошибку
 
          {
             snyataya_summa+=Spisok[i].summa;
             r=true;
          }
   if (r==true)
      cout<<"С расчетного счета "<<nomer_plat<<" снято "<<snyataya_summa<<"\n";
   else
       cout<<"Такого счета нет\n";
    system("PAUSE");
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i=0;i<=n;i++)
        for (int j=0;j<=n;j++)
            {
             if ( i != j )
             if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
                {
                  tmp=Spisok[j];
                  Spisok[j]=Spisok[i];
                  Spisok[i]=tmp;
                }
            }
Помогите пожалуйста, не работает правильно сортировка...выдает такое сообщение
0
Миниатюры
Исправить сортировку структуры  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2014, 08:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исправить сортировку структуры (C++):

Исправить сортировку подсчетом - C++
Всем привет! Есть программа сортировки подсчетом #include &lt;fstream&gt; #include &lt;iostream&gt; using namespace std; int a; ...

Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. - C++
Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. зарание спс Добавлено через 37 минут 26...

Реализовать сортировку массива объектов пользовательского типа по заданному полю (структуры) - C++
Есть перечень студентов, прибывших в лагерь по форме: ФИО, факультет, номер отряда. Упорядочить перечень по номерам отрядов, внутри отряда...

Сортировку вставками меняем на Пирамидальную сортировку и на Сортировку подсчётом - C++
Здравствуйте. Я не как не могу разобраться.Помогите. У меня есть листинг сортировки вставками: #include &quot;stdafx.h&quot; #include...

Задача. Структуры. Исправить ошибки - C++
Здравствуйте. Задача: Сведения об ученике состоят из его имени, фамилии, класса котором он учится, оценок, полученных учеником за год....

Массив с элементами структуры (исправить ошибку) - C++
Доброе утро форумчани! Помогите пожалуйста исправить обработчик. Программа должна найти в массиве фильм, жанр которого соответствует...

12
dimabubyakin
159 / 120 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.05.2014, 08:40 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool f;
do 
    {
    f=false;
    for (int i=0;i<n-1;i++)
    if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
                {
                  f=true;
                  tmp=Spisok[i];
                  Spisok[i]=Spisok[i+1];
                  Spisok[i+1]=tmp;
                }
    }
    while(f==true);
Добавлено через 26 секунд
Попробуйте вот так)
0
Xaapxyc
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 54
12.05.2014, 08:44  [ТС] #3
Цитата Сообщение от dimabubyakin Посмотреть сообщение
Попробуйте вот так)
Спасибо, и можете помочь объяснить пару строк, с 17 по 19 включительно)
А само задание такое, структура ORDER включает (номер плательщика, получателя, и перечисляемая сумма)
там они должны быть отсортированы. просто не понимаю под что отводится
C++
1
2
ORDER Spisok[15];
 char nomer_plat[15];
0
dimabubyakin
159 / 120 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.05.2014, 08:51 #4
Xaapxyc, не знаете что для чего в вашем коде?
C++
1
2
3
 cout<<"Плательщик "<<Spisok[i].plat<<" Получатель "<<Spisok[i].pol<<" Сумма "<<Spisok[i].summa<<"\n";
   cout<<"Введите номер лицевого счета(плательщика)\n";
   cin>>nomer_plat;
0
Xaapxyc
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 54
12.05.2014, 08:52  [ТС] #5
Цитата Сообщение от dimabubyakin Посмотреть сообщение
Попробуйте вот так)
все равно не хочет, он почему соединяет их вот смотрите на скрине, плательщик 111 получатель 222 он их соединил в одну строчку почему, а точнее прописал получателя два раза.
0
Миниатюры
Исправить сортировку структуры  
dimabubyakin
159 / 120 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.05.2014, 08:54 #6
Если у вас все данные числовые, зачем вы используете тип char?

Добавлено через 55 секунд
Напишите задание, ибо из "кода" ничего не понятно
0
Xaapxyc
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 54
12.05.2014, 08:54  [ТС] #7
Цитата Сообщение от dimabubyakin Посмотреть сообщение
Если у вас все данные числовые, зачем вы используете тип char?
я делал все по лекциям, нам так наша преподавательница показывала, её под 60 лет..
0
dimabubyakin
159 / 120 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.05.2014, 08:56 #8
Xaapxyc, а если бы она сказала записать строку в int вы бы записали
0
Xaapxyc
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 54
12.05.2014, 08:57  [ТС] #9
Цитата Сообщение от dimabubyakin Посмотреть сообщение
Напишите задание, ибо из "кода" ничего не понятно
Описать структуру с именем ORDE: Записи должны быть размещены в алфавитном порядке по расчетным счетам плательщиков. Вывод на экран о сумме снятой с расчетного счета плательщика веденного с клавиатуры. Если такого счет нет то выдать такого расчетного счета нет

Добавлено через 56 секунд
Цитата Сообщение от dimabubyakin Посмотреть сообщение
Xaapxyc, а если бы она сказала записать строку в int вы бы записали
значит записать вместо char все в интом?
0
dimabubyakin
159 / 120 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.05.2014, 09:00 #10
Xaapxyc, хм.. если расчетный счет я представляю числами,
Цитата Сообщение от Xaapxyc Посмотреть сообщение
Записи должны быть размещены в алфавитном порядке
Добавлено через 1 минуту
Xaapxyc, сделаю ка я по своему
0
Xaapxyc
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 54
12.05.2014, 09:06  [ТС] #11
Цитата Сообщение от dimabubyakin Посмотреть сообщение
хм.. если расчетный счет я представляю числами,
это так у неё в задачнике было написано, я так понимаю по убыванию в числовом варианте, а не алфавитном.

Добавлено через 1 минуту
Цитата Сообщение от dimabubyakin Посмотреть сообщение
сделаю ка я по своему
ток не забубенно, а то я не смогу объяснить ей, она придирчивая.

Добавлено через 4 минуты
Цитата Сообщение от dimabubyakin Посмотреть сообщение
Xaapxyc, сделаю ка я по своему
как по своему?
0
dimabubyakin
159 / 120 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.05.2014, 09:24 #12
Вот так
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>
#define n 5
using namespace std;
struct ORDER
{
    int id_plat;
    float summa;
};
int main()
{
    ORDER a[n];
    bool t;
    ORDER tmp;
    int id;
    float sum;
    cout<<"VVedite spisok"<<endl;
    for(int i=0;i<n;i++)
    {
        cout<<"ID    : ";
        cin>>a[i].id_plat;
        cout<<"Summa : ";
        cin>>a[i].summa;
    }
    system("cls");
    do 
        {
            t=false;
            for (int i=0;i<n-1;i++)
            if (a[i].id_plat>a[i+1].id_plat)
                {
                  t=true;
                  tmp=a[i];
                  a[i]=a[i+1];
                  a[i+1]=tmp;
                }
        }
        while(t==true);
    cout<<"Spisok platelschikov :"<<endl;
    for(int i=0;i<n;i++)
    cout<<a[i].id_plat<<"    "<<a[i].summa<<endl;
    cout<<"Vvedite ID :";
    cin>>id;
    cout<<"Vvedite summu :";
    cin>>sum;
    t=false;
    for(int i=0;i<n;i++)
    if(a[i].id_plat==id)
    {
        t=true;
        a[i].summa-=sum;
        cout<<a[i].id_plat<<"    "<<a[i].summa<<endl;
    }
    if(!t)cout<<"Ne nayden"<<endl;
    system("pause");
    return 0;
}
0
Xaapxyc
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 54
12.05.2014, 09:30  [ТС] #13
C++
1
[quote="dimabubyakin;6158990"]Вот так[/quote]
спасибо..ток блин это слишком сложно...
0
12.05.2014, 09:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2014, 09:30
Привет! Вот еще темы с ответами:

Вывод структуры в файл. Исправить ошибки в коде - C++
Здравствуйте. Пишу программу с структурой и вводом в файл. Выдает ошибку что не определены переменные: v, s, t, at. Помогите, пожалуйста,...

Оформление списка в виде структуры, исправить ошибку в коде - C++
Здравствуйте, есть проблема, нужно оформить список в виде структуры, но вот есть ошибка в строке, не могу понять в чем, но при компиляции...

Вывести первые буквы всех слов в строке. Структуры. Исправить - C++
Есть рабочая программа, выполняющая сию задачу, но требуется модифицировать её так, чтобы в структуру записывалось не целиком слово, а по...

Структуры в С++ и вывод студентов со средним баллом больше 7. Исправить код - C++
Помогите с заданием, кто понимает. Составить программу формирования файла, содержащего Ведомость студентов, сдававших сессию, содержит...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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