Witam!
Mam za zadanie wykonanie programu w c++, w którym 3 liczby zostały uporządkowane rosnąco. Program ma polegać na tym, że wpisuje z klawiatury 3 dowolne liczby, po czym program układa je w kolejności rosnącej. WAŻNE - nie wybiera największej tylko sortuje 3 w podanej wyżej kolejności. Prosiłbym o układanie w miarę możliwości programów na miarę 8 klasy, czyli z wykorzystaniem komendy "IF".
Z góry dzięki!
0
2
Co już masz a z czym masz problem ?
Tu się nie robi zadań szkolnych
1
No taki zaawansowany zapis to może nauczyciel mocno podejrzewać, lepiej po prostu:
#include <stdio.h>
int main ()
{
int a, b, c;
scanf ("%d %d %d", &a, &b, &c);
if (a > b && a > c)
if (b > c)
printf ("%d %d %d\n", c, b, a);
else
printf ("%d %d %d\n", b, c, a);
else if (b > a && b > c)
if (a > c)
printf ("%d %d %d\n", c, a, b);
else
printf ("%d %d %d\n", a, c, b);
else if (c > a && c > b)
if (a > b)
printf ("%d %d %d\n", b, a, c);
else
printf ("%d %d %d\n", a, b, c);
return 0;
}
0
Manna5 napisał(a):
No taki zaawansowany zapis to może nauczyciel mocno podejrzewać, lepiej po prostu:
To jeden z najbardziej beznadziejnych.
2
#include <iostream>
#include <algorithm>
#include <cmath>
#include <climits>
using namespace std;
int main()
{
for(int i=log10(0.1),m=0x61,t[0x03];
((int)++i<0x03)&&(cout<<"\rPodaj"<<(char)0x20<<(char)(m)<<(char)0x20)&&(cin>>t[i])&&(++m);
(i<0x02?(cout<<(char)0x20):(cout<<(char)0x0A<<t[0x00]<<(char)0x20<<t[0x01]<<(char)0x20<<t[0x02]<<(char)0x0A)))
{
if(i==0x02)
{
if(t[0x00]>t[0x02])swap(t[0x00],t[0x02]);
if(t[0x00]>t[0x01])swap(t[0x00],t[0x01]);
if(t[0x01]>t[0x02])swap(t[0x01],t[0x02]);
}
}
return 0;
}
5
#include <stdio.h>
#include <stdlib.h>
void w5(int x,int y,int z)
{
static int min[]={0, 0, 2, 0, 1, 1, 2};
static int mid[]={1, 1, 0, 2, 2, 0, 1};
static int max[]={2, 2, 1, 1, 0, 2, 0};
int *tb[]={&x,&y,&z};
int i=(((x>y)<<2)|((y>z)<<1)|((z>x)<<0));
printf("%d %d %d\n",*(tb[min[i]]),*(tb[mid[i]]),*(tb[max[i]]));
}
int main()
{
int T[][3]={{1,2,3},{1,3,2},{2,1,3},{2,3,1},{3,1,2},{3,2,1},{2,2,3},{2,3,2},{3,2,2},{3,3,3}};
for(int i=0;i<sizeof(T)/sizeof(*T);++i)
{
int x=T[i][0],y=T[i][1],z=T[i][2];
printf("--- %d %d %d\n",x,y,z);
w5(x,y,z);
}
return 0;
}