Porządkowanie 3 liczb w kolejności rosnącej c++

0

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!

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;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1