powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как сделать рабочую сортировку по алфавиту?
26 сообщений из 26, показаны все 2 страниц
Как сделать рабочую сортировку по алфавиту?
    #40061865
Knicks12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сортировка товара работает неправильно. Должно быть по алфавиту.
Вот код:

Код: plaintext
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.
#include <iostream>

#include <string.h>

struct PRICE {
  char tov[80];
  int cost;
  char mag[80];
};
int main() {
  setlocale(LC_ALL, "Russian");
  int n;
  std::cout << "Введите количество структур\n";
  std::cin >> n; //Количество структур
  PRICE * arr = new PRICE[n]; //динамическое выделение памяти под массив структур
  std::cin.ignore(); //Когда мы смешиваем ввод строковых данных и чисел, то в число
  может попадать символ переноса строки.
  //Когда мы жмём клавишу Enter, ведь в память попадает символ, вот именно этот
  символ мы игнорируем принудительно.
  for(int i = 0; i < n; i++) //Ввод данных
  {
    std::cout << "Enter product name\n";
    std::cin.getline(arr[i].tov, 80);
    std::cout << "Enter your store name\n";
    std::cin.getline(arr[i].mag, 80);
    std::cout << "Enter price\n";
    std::cin >> arr[i].cost;
    std::cin.ignore();
  }
  char key;
  for (key = 'A'; key <= 'Z'; key++) //сортировка по алфавиту
  {
    for (int i = 0; i < n; i++) {
      if (arr[i].tov[0] == key) //вывод данных
      {
        std::cout <<
          "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
        std::cout << arr[i].tov << std::endl;
        std::cout << arr[i].mag << std::endl;
        std::cout << arr[i].cost << " Rub in " << std::endl;
      }
    }
  }
  int b = 0;
  std::string v;
  bool g = false;
  while (b == 0) {
    std::cout << "Enter product name: ";
    std::cin >> v;
    for (int i = 0; i < n; i++) {
      if (v == arr[i].tov) {
        std::cout << arr[i].tov << std::endl;
        std::cout << arr[i].mag << std::endl;
        std::cout << arr[i].cost << std::endl;
        g = true;
      }
    }
    if (g == false) {
      std::cout << "There is no such item" << std::endl;
    }
    std::cout << "Continue work? 0 - Yes 1 - No" << std::endl;
    std::cin >> b;
  }
  return 0;
}



Модератор: Пользуйся тегом SRC и отступами
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061869
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Knicks12Должно быть по алфавиту.

Она и есть по алфавиту. Ты просто забыл добавить в это алфавит русские буквы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061951
Knicks12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, то-есть вместо A и Z, поставить А и Я?
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061955
зачем в C++ юзать
Knicks12
char tov[80];

когда есть string?
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061961
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Knicks12,

ну, строго говоря - сортировки тут нет вообще. Есть вывод в определённом порядке.
А вообще - ну найдите вы у себя в группе кого нибудь, кто хоть что то соображает в плюсах, купите ему чего нибудь, да пусть напишет вам эти контрольные. что вы гуглите не пойми чего и даже не понимаете, чего нагуглили?
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061962
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кстати - а мне одному кажется, что это троллинг? настоящий студент то чей подробности бы выспрашивал, что да как делать...
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061979
настоящих студентов ещё поискать
многим это программирование нах не сдалось, им бы армию прогулять и всё
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061985
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну вот автор видимо из таких. но в его случае проще сразу спрашивать за деньги
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061990
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xerxfстрого говоря - сортировки тут нет вообще. Есть вывод в определённом порядке.

А "вывод в определённом порядке" отличается от "сортировки" чем?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061993
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

xerxfстрого говоря - сортировки тут нет вообще. Есть вывод в определённом порядке.

А "вывод в определённом порядке" отличается от "сортировки" чем?

после отработки цикла в каком порядке данные будут располагаться в памяти?
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40061998
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xerxfпосле отработки цикла в каком порядке данные будут располагаться в памяти?

Без разницы, роль играет только порядок результата. После отработки "select ... order by"
порядок записей в таблице меняется?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062005
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

роль играет соответствие решения постановки задачи. ТС написал - неправильно работает сортировка. Сортировки тут нет вообще. Если бы он написал - товары выводятся не в том порядке - вопросов бы не было.
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062010
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xerxfТС написал - неправильно работает сортировка. Сортировки тут нет вообще.

Есть. Это так называемая "сортировка вставками".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062016
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
xerxf

Есть. Это так называемая "сортировка вставками".Здесь нет вставки.

Да и не по алфавиту это.
А по первым буквам.



АВТОР.
У тебя есть пример сортировки ну хотя бы целых чисел?
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062017
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Ткните пожалуйста пальцем, где здесь сортировка хоть вставкой, хоть чем, в результате которой меняется порядок данных в исходной структуре
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062025
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AklinЗдесь нет вставки.

"std::cout <<" это есть вставка в выходной поток, не так ли?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062036
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

AklinЗдесь нет вставки.

"std::cout <<" это есть вставка в выходной поток, не так ли?..

эээээ.... это вот сейчас серьёзно было?
Я так понимаю БДшник? ответьте тогда на вопрос - индексация таблицы равны выводу данных из таблицы в нужном порядке ?
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062038
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

AklinЗдесь нет вставки.

"std::cout <<" это есть вставка в выходной поток, не так ли?..

А что - удобный способ решения некоторого класса задач. :-) Типа вставить в какую то там позицию значение - std::cout <<позиция<<значение :-))))
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062039
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xerxfэто вот сейчас серьёзно было?

Более чем. Прочитайте хотя бы половину третьего тома Кнута. Первую.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062040
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

xerxfэто вот сейчас серьёзно было?

Более чем. Прочитайте хотя бы половину третьего тома Кнута. Первую.

Вы прочитали все три тома Кнута?!
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062049
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

и после прочтения именно первой половины третьего тома у меня сотрётся понимание разницы между выводом и сортировкой? Я пожалуй воздержусь тогда :-)
задам уточняющий вопрос - а если я захочу второй раз вывести уже отсортированный по вашему мнению вставкой массив - мне ведь не надо будет никаких условий писать, ничего?вот просто вывод в одинарном цикле и всё, всё выведится в нужном порядке? а если операия сравнения дорогая (я не про этот пример, а про подход в принципе), то после первой сортировки вставкой все последующие обращения к массивубудут идти быстро и в нужном порядке, да?
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062056
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xerxfи после прочтения именно первой половины третьего тома у меня сотрётся понимание разницы
между выводом и сортировкой?

При некотором везении у Вас отпадут шоры, заставляющие считать сортировкой только пузырёк
по массиву.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062060
xerxf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

ну так наставьте на путь истинный -ответьте хоть на один мой уточняющий вопрос
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062113
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поддерживаю. В коде автора вообще бред, как это не называй.

Aklin
Да и не по алфавиту это.
А по первым буквам.
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062129
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уж С++ то std::sort просится.
...
Рейтинг: 0 / 0
Как сделать рабочую сортировку по алфавиту?
    #40062222
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно приложение решает разные задачи. Ввод данных. Некую группировку (или ранжирование) по первой букве.
Причем ограниченного диапазона. И некую фильтрацию.

Сортировки в общем понимании этого слова тут нет. Но есть что-то похожее на начало Radix-Sort.

Короче лаба в таком виде никуда не годится. Но нужен оригинальный текст чтоб понять чего надо.
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как сделать рабочую сортировку по алфавиту?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]