Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Zdravím všechny nadšence programování v jazyce C.
Potřebovala bych poradit s příkladem, kde mám načíst do programu dvě celá čísla a pak má program vypsat všechna celá čísla mezi a a b od většího k menšímu.
Případ, kde se jedná o seřazení od menšího k většímu mám zde:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a,b,i,c;
printf("Zadej dve prirozena cisla: ");
scanf("%d %d",&a,&b);
/* prohozeni promennych, pokud se a > b */
/* zajistim, ze v a je vzdy mensi cislo */
/* promenna c je de facto zbytecna, mohl bych pouzit i */
if (a>b) { c=a; a=b; b=c; }
/* vypis pomoci cyklu while */
i=a;
while(i<=b)
{
printf("%d ",i);
i++;
}
printf("\n");
system("PAUSE");
return 0;
}
...jak z tohoto mám tedy vytvořit seřazení od většího k menšímu ?
Moc moc Vám děkuji :)
Offline
↑ TerezaG:
Dobrý den, řekl bych že stačí jen drobné úpravy v cyklu while
(úpravy mezi řádky označenými ***********************):
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a,b,i,c;
printf("Zadej dve prirozena cisla: ");
scanf("%d %d",&a,&b);
/* prohozeni promennych, pokud se a > b */
/* zajistim, ze v a je vzdy mensi cislo */
/* promenna c je de facto zbytecna, mohl bych pouzit i */
if (a>b) { c=a; a=b; b=c; }
/* vypis pomoci cyklu while */
//*********************************
i=b;
while(i>=a)
{
printf("%d ",i);
i--;
}
//*********************************
printf("\n");
system("PAUSE");
return 0;
}
Offline