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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2012, 19:14   #1
Саймонт
 
Регистрация: 27.05.2012
Сообщений: 4
По умолчанию Упорядочивание на Си

В три переменные a, b и c (тип double) явно записаны программистом три попарно неравных между собой числа. Создать программу, которая переставит числа в переменных таким образом, чтобы при выводе на экран последовательность a, b и c оказалась строго возрастающей.

В общем вот она задачка... Работа производиться в CodeBlocks-е.
Вроде бы не сложная, но что - то мне никак вообще не сообразить,
примеров похожих на Си (не С++) не нашел. Прошу помощи, заранее благодарю.
Саймонт вне форума Ответить с цитированием
Старый 27.05.2012, 19:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
double z;
if(a>b){z=a;a=b;b=z;}
if(b>c){z=b;b=c;c=z;
 if(a>b){z=a;a=b;b=z;}
}
Сойдет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.05.2012, 20:13   #3
Саймонт
 
Регистрация: 27.05.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
double z;
if(a>b){z=a;a=b;b=z;}
if(b>c){z=b;b=c;c=z;
 if(a>b){z=a;a=b;b=z;}
}
Сойдет?
Эм, ну и что получится?
Код:
{
    double z;
    double a,b,c;
    scanf ("%d%d%d", &a, &b, &c);
if(a>b){z=a;a=b;b=z;}
if(b>c){z=b;b=c;c=z;}
if(a>b){z=a;a=b;b=z;}
{printf("\n %d \n", &z);}
return 0;
}
Или что? не очень понимаю...

Последний раз редактировалось Stilet; 27.05.2012 в 20:20.
Саймонт вне форума Ответить с цитированием
Старый 27.05.2012, 20:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Чего не понимаешь?
Запусти программу - выдаст верный результат?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.05.2012, 20:34   #5
Саймонт
 
Регистрация: 27.05.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Чего не понимаешь?
Запусти программу - выдаст верный результат?
Нет О_о представления не имею как то, что вы написали может работать.
Саймонт вне форума Ответить с цитированием
Старый 27.05.2012, 20:36   #6
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

infile.txt
Цитата:
1 2 3
3 1 2
2 3 1
2 1 3
3 2 1
1 3 2
main.c
Код:
#include <stdio.h>

void swap(double *px, double *py);

int main()
{
    double a, b, c;
    FILE* ifp;

    char* infilename = "infile.txt";

    ifp = fopen(infilename, "r");

    if (ifp == NULL) {
        fprintf(stderr, "error: cannot open file \"%s\"\n", infilename);
        return 1;
    }

    while (fscanf(ifp, "%lf%lf%lf", &a, &b, &c) != EOF) {

        printf("%7.2lf%7.2lf%7.2lf", a, b, c);

        if (a > c) {
            swap(&a, &c);
        }
        if (a > b) {
            swap(&a, &b);
        }
        if (b > c) {
            swap(&b, &c);
        }
 
        printf("    %10.2lf%7.2lf%7.2lf\n", a, b, c);
    }

    fclose(ifp);
    return 0;
}

void swap(double *px, double *py)  /* interchange *px and *py */
{
    double temp;

    temp = *px;
    *px = *py;
    *py = temp;
}
P.S. Лучше (и нужно), как Stilet написал - без swap'a, но это сами исправите!

Последний раз редактировалось 8Observer8; 27.05.2012 в 20:42.
8Observer8 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упорядочивание Garmon SQL, базы данных 6 30.03.2012 09:41
Упорядочивание матрицы... we4r Помощь студентам 0 23.05.2011 13:16
Упорядочивание массива A_Orlov Паскаль, Turbo Pascal, PascalABC.NET 0 09.06.2010 20:18
Упорядочивание Arkuz БД в Delphi 7 07.11.2008 23:06
Упорядочивание Kopy3 Помощь студентам 4 16.09.2008 17:27