Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сортировка по убыванию

6.9K
16 декабря 2010 года
fen1xxx
63 / / 04.11.2010
Всем привет. Мне нужно написать программу сортирующию по убыванию переменные X, Y, Z. Я написал код, он запускается, но во время выполнения происходит сбой. Может кто-то подскажет в чём ошибка или предложит свой вариант?

Вот мой код:

[COLOR="RoyalBlue"]#include <stdio.h>
#define SIZE 3 // размер массива
void main()
{
int mass[SIZE]; //объявляем массив содержащий переменные Х, Y, Z
printf("Vvedite znacheniya X, Y, Z: \n");
for(int i=0;i<SIZE;i++) // считываем значения переменных X, Y, Z
scanf("%s", &mass);
printf("%s %s %s", mass[0],mass[1],mass[2]);
if((mass[0]==mass[1])&&(mass[0]==mass[2])) { printf("\n %s=%s=%s \n", mass[0],mass[1],mass[2]); } // если Х=Y=Z
if((mass[0]==mass[1])||(mass[0]==mass[2])||(mass[1]==mass[2])) // если X=Y или X=Z или Y=Z
{
if(mass[0]==mass[1]) if(mass[2]>mass[0]) { printf("\n %s %s=%s \n", mass[2],mass[1],mass[0]); } else { printf("\n %s=%s %s \n", mass[0],mass[1],mass[2]); } // X=Y
if(mass[0]==mass[2]) if(mass[1]>mass[0]) { printf("\n %s %s=%s \n", mass[1],mass[0],mass[2]); } else { printf("\n %s=%s %s \n", mass[0],mass[2],mass[1]); } // X=Z
if(mass[1]==mass[2]) if(mass[0]>mass[0]) { printf("\n %s %s=%s \n", mass[0],mass[1],mass[2]); } else { printf("\n %s=%s %s \n", mass[2],mass[1],mass[0]); } // Y=Z
}
if((mass[0]>mass[1])&&(mass[0]>mass[2])) if(mass[1]>mass[2]) { printf("\n %s %s %s \n", mass[0],mass[1],mass[2]); } else { printf("\n %s %s %s \n", mass[0],mass[2],mass[1]); } // если Х=max
if((mass[1]>mass[0])&&(mass[1]>mass[2])) if(mass[0]>mass[2]) { printf("\n %s %s %s \n", mass[1],mass[0],mass[2]); } else { printf("\n %s %s %s \n", mass[1],mass[2],mass[0]); } // если Y=max
if((mass[2]>mass[0])&&(mass[1]>mass[2])) if(mass[0]>mass[1]) { printf("\n %s %s %s \n", mass[2],mass[0],mass[1]); } else { printf("\n %s %s %s \n", mass[2],mass[1],mass[0]); } // если Z=max
}[/COLOR]
29K
16 декабря 2010 года
Енот_в_Засаде
224 / / 09.11.2010
мне кажется так проще:
Код:
#include <iostream>
#include <conio.h>
#include <locale.h>
#define SIZE 3 // размер массива

using namespace std;

void main()
{
    setlocale(LC_ALL, "Russian");
    int mass[SIZE]; //объявляем массив содержащий переменные Х, Y, Z

cout<<"Введите значения X, Y, Z: \n";
for(int i=0;i<SIZE;i++)
{
    // считываем значения переменных X, Y, Z
    cin>>mass;
}

cout<<"\nИсходный массив:";
for(int i=0;i<SIZE;i++)
{
    cout<<mass<<" ";
}

//сортировка
for (int i=SIZE-1; i>0; i--)
{
    for (int j = 0; j < i; j++)
    {
        if (mass[j] < mass[j + 1])
        {
              int temp = mass[j];
              mass[j] = mass[j + 1];
              mass[j + 1] = temp;
        }
   
   }
}

cout<<"\nМассив после сортировки: ";
for(int i=0;i<SIZE;i++)
{
    cout<<mass<<" ";
}

}
6.9K
16 декабря 2010 года
fen1xxx
63 / / 04.11.2010
Енот_в_Засаде спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог