Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2020, 19:18   #1
pllord
Новичок
Джуниор
 
Регистрация: 21.01.2020
Сообщений: 2
По умолчанию помогите с задачкой на массивы

Задан массив структур «Покупатель» (фамилия покупателя;
имя; номер карты; наименование товара; стоимость покупки).
Вывести на экран сведения о покупателях и суммарной
стоимости покупок в порядке возрастания суммы.
pllord вне форума Ответить с цитированием
Старый 21.01.2020, 21:42   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Хотел протелепать необходимый язык программирования - телепатор сломался. PL-I годится ?
digitalis на форуме Ответить с цитированием
Старый 21.01.2020, 21:46   #3
pllord
Новичок
Джуниор
 
Регистрация: 21.01.2020
Сообщений: 2
По умолчанию

Цитата:
Сообщение от pllord Посмотреть сообщение
Задан массив структур «Покупатель» (фамилия покупателя;
имя; номер карты; наименование товара; стоимость покупки).
Вывести на экран сведения о покупателях и суммарной
стоимости покупок в порядке возрастания суммы.
язык c++
pllord вне форума Ответить с цитированием
Старый 23.01.2020, 19:56   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Как заполняется массив структур - руками или из файла ?
Я на ++ не пишу, но когда массив заполнен, я бы вот таким образом: завел бы вспомогательный массив индексов mas_ind , обнулил бы его. И далее:
Код:
   for (i=0;i<N;i++)
      { money = stuct_data[0].sum ; fix_ind=0 ;
        for (j = 0;j<N;j++)
          { if ( (mas_ind[j] == 0) && (stuct_data[j].sum < money) )
                  { money = stuct_data[j].sum ; fix_ind = j ;}
           }
        // Вывести элемент структуры с индексом  fix_ind 
         mas_ind[fix_ind] = 1 ;
      }
Почитай-ка хотя бы это: https://purecodecpp.com/archives/1502
Давненько я не брал в руки Сишек-Плюшек

Последний раз редактировалось digitalis; 24.01.2020 в 11:36. Причина: уточнение
digitalis на форуме Ответить с цитированием
Старый 24.01.2020, 11:32   #5
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Код:
#include  <iostream>

using namespace std;

struct Pokupatel
{
    string fam;
    string names;
    int num_k;
    string names_tov;
    float stoim;
};


int main()
{

    Pokupatel *pok_arr;

    cout<<"vvedite count pokupatelei...";
    int count;
    cin>>count;

    if (count<=0)
    {
        cout<<"Error! input count >1";
        return 0;
    };


    pok_arr =  new Pokupatel[count];

    float sum=0;

    for (int i=0;i<count;i++)
    {
        cout<<"Nom "<<i+1<<endl;
        cout<<"input fam...";
        cin>>pok_arr[i].fam;
        cout<<"input name...";
        cin>>pok_arr[i].names;
        cout<<"input names tov...";
        cin>>pok_arr[i].names_tov;
        cout<<"input nomber carts...";
        cin>>pok_arr[i].num_k;
        cout<<"input stoimost ...";
        cin>>pok_arr[i].stoim;
        cout<<endl;
        sum+=pok_arr[i].stoim;
    }


    system("cls");
    cout<<"input correct! Vivod dannix..."<<endl;

    for (int i = 0; i < count; i++) {
        for (int j = i+1; j < count; j++)
            if (pok_arr[i].stoim > pok_arr[j].stoim)
            {
                Pokupatel buf = pok_arr[i];
                pok_arr[i]= pok_arr[j];
                pok_arr[j] = buf;
            }
        cout<<"fam: "<<pok_arr[i].fam<<endl;
        cout<<"names: "<<pok_arr[i].names<<endl;
        cout<<"names tovarov: "<<pok_arr[i].names_tov<<endl;
        cout<<"nomber carts: "<<pok_arr[i].num_k<<endl;
        cout<<"stoimost: "<<pok_arr[i].stoim<<endl;
        cout<<endl;

    }
        cout<<"full stoim: "<<sum<<endl;



    cout<<"good!";

    return 0;
};
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 24.01.2020, 11:46   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Про сортировку разговора не было. В моём варианте по возрастанию суммы только выводится инфа на экран, сам массив остаётся без изменения. Может, мне нужно его иметь в порядке поступления заказов?
digitalis на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачкой по С (двухмерные массивы) SViktoriya Помощь студентам 3 07.07.2017 11:53
Помогите с задачкой на С++ Spfrezen Помощь студентам 6 05.10.2014 05:36
Пожалуйста помогите с задачкой на одномерные массивы на СИ Роман64 Помощь студентам 2 01.12.2013 18:11