Другие языки программирования и технологии
Помогите с заданием на C++
Здравствуйте. Помогите пожалуйста с заданием на си. Нужно сравнить между собой три числа: а, b,c и выдать ответ ввиде неравенства, например a>b
#include<stdio.h>
void f(int a,int b,int c)
{
char s[3]={'a','b','c'};
int d[3]={a,b,c},p[3]={0,1,2};
printf("a=%d, b=%d, c=%d\n");
if(d[p[0]]>d[p[1]]) p[0]^=p[1],p[1]^=p[0],p[0]^=p[1];
if(d[p[1]]>d[p[2]]) p[1]^=p[2],p[2]^=p[1],p[1]^=p[2];
if(d[p[0]]>d[p[1]]) p[0]^=p[1],p[1]^=p[0],p[0]^=p[1];
printf("%c < %c < %c\n%d < %d < %d\n",s[p[0]],s[p[1]],s[p[2]],d[p[0]],d[p[1]],d[p[2]]);
}
void main()
{
int a,b,c;
a=1;b=2;c=3;f(a,b,c);
a=1;b=3;c=2;f(a,b,c);
a=2;b=1;c=3;f(a,b,c);
a=3;b=1;c=2;f(a,b,c);
a=2;b=3;c=1;f(a,b,c);
a=3;b=2;c=1;f(a,b,c);
return;
}
void f(int a,int b,int c)
{
char s[3]={'a','b','c'};
int d[3]={a,b,c},p[3]={0,1,2};
printf("a=%d, b=%d, c=%d\n");
if(d[p[0]]>d[p[1]]) p[0]^=p[1],p[1]^=p[0],p[0]^=p[1];
if(d[p[1]]>d[p[2]]) p[1]^=p[2],p[2]^=p[1],p[1]^=p[2];
if(d[p[0]]>d[p[1]]) p[0]^=p[1],p[1]^=p[0],p[0]^=p[1];
printf("%c < %c < %c\n%d < %d < %d\n",s[p[0]],s[p[1]],s[p[2]],d[p[0]],d[p[1]],d[p[2]]);
}
void main()
{
int a,b,c;
a=1;b=2;c=3;f(a,b,c);
a=1;b=3;c=2;f(a,b,c);
a=2;b=1;c=3;f(a,b,c);
a=3;b=1;c=2;f(a,b,c);
a=2;b=3;c=1;f(a,b,c);
a=3;b=2;c=1;f(a,b,c);
return;
}
function compare(a, b, c) {
function greatest(first, second, third) {
if (first > second && first > third)
return first;
else
return false;
}
function middle(first, second, third) {
if (first > second && first < third || first < second && first > third)
return first;
else
return false;
}
function least(first, second, third) {
if (first < second && first < third)
return first;
else
return false;
}
var greatOne = greatest(a, b, c) || greatest(b, a, c) || greatest(c, a, b);
var middleOne = middle(a, b, c) || middle(b, a, c) || middle(c, a, b);
var leastOne = least(a, b, c) || least(b, a, c) || least(c, a, b);
return 'the greatest is ' + greatOne + ', ' +
'the middle is ' + middleOne + ', ' +
'the least is ' + leastOne + '.';
}
console.log(compare(1,2,3));
Это реализация на языке JavaScript. Синтаксис похож. В твоем случае нужно немного усилий приложить для превращения ее в программу на Си.
Например заменить console.log() на printf() и т. д.
function greatest(first, second, third) {
if (first > second && first > third)
return first;
else
return false;
}
function middle(first, second, third) {
if (first > second && first < third || first < second && first > third)
return first;
else
return false;
}
function least(first, second, third) {
if (first < second && first < third)
return first;
else
return false;
}
var greatOne = greatest(a, b, c) || greatest(b, a, c) || greatest(c, a, b);
var middleOne = middle(a, b, c) || middle(b, a, c) || middle(c, a, b);
var leastOne = least(a, b, c) || least(b, a, c) || least(c, a, b);
return 'the greatest is ' + greatOne + ', ' +
'the middle is ' + middleOne + ', ' +
'the least is ' + leastOne + '.';
}
console.log(compare(1,2,3));
Это реализация на языке JavaScript. Синтаксис похож. В твоем случае нужно немного усилий приложить для превращения ее в программу на Си.
Например заменить console.log() на printf() и т. д.
А в чем проблема-то? Букварь по C/C++ почитай.
Похожие вопросы
- Помогите с заданием по C#
- Помогите с заданием, пожалуйста. C++.
- Помогите решить задание по HTML/CSS в Dreamweaver
- microsoft visual C++, помогите с заданием УМОЛЯЮ
- Помогите с домашним заданием по c++
- Помогите с заданием по информатике за 7 класс????
- помогите сделать задание в Microsoft Visual Studio
- задание на C++, подскажите путь решения хотя бы
- Пожалуйста! Помогите выбрать: java или c
- Помогите решить задачи на C#