Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Сортировка по первому столбцу!!!! как сделать???


Автор: Aidar 22.4.2007, 09:48
#include <conio.h>
#include <windows.h>
#include <stdio.h>
#include <string.h>
char *Rus(char *s);

struct PRICE {
  char shop[15];         //
  char name[15];   //
  int sum;                 //
    } mm[7];
int main(void) {
 struct PRICE x;
 int n, i, j, k, l, r  ;                  // èíäåêñû â ìàññèâå

    for (n=0; n<2; n++){
    printf("%d.",n+1);

    printf(Rus("Ââåäèòå: Ìàãàçèí - "));
    scanf("%s",&mm[n].shop);

    printf(Rus("Ââåäèòå: Òîâàð - "));
    scanf("%s",mm[n].name);

    printf(Rus("Ââåäèòå: Öåíó - "));
    scanf("%d",&mm[n].sum);
     }


  printf("|----------------------------------------------|\n");
  printf(Rus("|                   Ïðàéñ                      |\n"));
  printf("|----------------------------------------------|\n");
  printf(Rus("|    Ìàãàçèí     |    Òîâàð    |     Öåíà      |\n"));
  printf("|----------------------------------------------|\n");

  for (i=0; i<n; i++){
  printf("| %9s      |%9s    |          %5d|\n",
  mm[i].shop, mm[i].name, mm[i].sum );                         }
  printf("------------------------------------------------\n");

 

  getch();

                                   }

     char *Rus(char *s)
{
    static char buff[1000];
    CharToOem(s, buff);
    return buff;
}

Добавлено через 4 минуты и 43 секунды
вот такое задание!!!!

Описать структуру с именем PRICE, содержащую следующие поля:
□    название товара;
□    название магазина, в котором продается товар;
□    стоимость товара в руб.
Написать программу, выполняющую следующие действия:
□             ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PRICE;         //это сделал....
□    упорядочивание записей в алфавитном порядке по названиям товаров;

Автор: Aidar 22.4.2007, 11:14
Все сделал сам!!!!!!!!!!!!!!!!![B][/B]

Добавлено через 35 секунд
Кому надо вот текст!!!!!!!!!!!!!!!!


#include <conio.h>
#include <windows.h>
#include <stdio.h>
#include <string.h>
char *Rus(char *s);

struct PRICE {
  char shop[15];         //   магазин
  char name[15];   //                Товар
  int sum;                 //             Цена
    } mm[8];
int main(void) {
 struct PRICE x;
 int n, i, j, k, l, r, m  ;                  // индексы в массиве

    for (n=0; n<3; n++){
    printf("%d.",n+1);

    printf(Rus("Введите: Магазин - "));
    scanf("%s",&mm[n].shop);
    

    printf(Rus("Введите: Товар - "));
    scanf("%s",mm[n].name);
   if (!strcmp(mm[n].name,"***")) break;

    printf(Rus("Введите: Цену - "));
    scanf("%d",&mm[n].sum);
     }


  printf("|----------------------------------------------|\n");
  printf(Rus("|                   Прайс                      |\n"));
  printf("|----------------------------------------------|\n");
  printf(Rus("|    Магазин     |    Товар    |     Цена      |\n"));
  printf("|----------------------------------------------|\n");

  for (i=0; i<n; i++){
  printf("| %9s      |%9s    |          %5d|\n",
  mm[i].shop, mm[i].name, mm[i].sum );                         }
  printf("------------------------------------------------\n");


   /* сортировка массива */
  for (i=0; i<n-1; i++) {
    m=i;                                 // минимальный элемент - первый
    for (j=i+1; j<n; j++)
       if (strcmp(mm[m].name, mm[j].name)>0) m=j;
    if (m>i) {
      strcpy(x.name,mm[i].name);
      strcpy (x.shop,mm[i].shop);
      x.sum=mm[i].sum;

      strcpy(mm[i].name,mm[m].name);
      strcpy (mm[i].shop,mm[m].shop);
      mm[i].sum=mm[m].sum;

      strcpy(mm[m].name,x.name);
      strcpy (mm[m].shop,x.shop);
      mm[m].sum=x.sum;
         }
    }

  printf("|----------------------------------------------|\n");
  printf(Rus("|                   Прайс                      |\n"));
  printf("|----------------------------------------------|\n");
  printf(Rus("|    Магазин     |    Товар    |     Цена      |\n"));
  printf("|----------------------------------------------|\n");

  for (i=0; i<n; i++){
  printf("| %9s      |%9s    |          %5d|\n",
  mm[i].shop, mm[i].name, mm[i].sum );                         }
  printf("------------------------------------------------\n");
  getch(); }

     char *Rus(char *s)
{
    static char buff[1000];
    CharToOem(s, buff);
    return buff;
}


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)