[[:oktatas:programozás:Programozási tételek|< Programozási tételek]]
====== Programozási tételek C megvalósításban ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2011
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Programozási tételek =====
==== Összegzés ====
#include
main()
{
int tomb[5] = {8, 9, 3, 5, 4};
int n = 5;
printf("Összegzés\n";
int osszeg = 0;
for (int i = 0; i < 5; i++)
osszeg = osszeg + tomb[i];
printf("%d\n", osszeg);
}
==== Megszámolás ====
#include
main()
{
int tomb[] = {8, 9, 3, 5, 4, 2, 7};
int szamol=0;
int i;
for(i=0; i<7;i++)
if(tomb[i] < 5)
szamol++;
printf("5-nél kisebb számok: %d\n", szamol);
}
==== Eldöntés tétel ====
#include
main()
{
int tomb[] = {8, 9, 3, 5, 4, 2, 7};
int n=7;
int ker=5;
int i=0;
while(i
==== Kiválasztás tétel ====
#include
main()
{
int tomb[] = {8, 9, 3, 5, 4, 2, 7};
int n=7;
int ker=5;
int i=0;
while(i
==== Keresés tétel ====
#include
main()
{
int tomb[] = {8, 9, 3, 5, 4, 2, 7};
int n=7;
int ker=5;
int i=0;
while(i
==== Kiválogatás tétel====
#include
main()
{
int tomb[] = {8, 9, 3, 5, 4, 2, 7};
int b[7];
int i, n=7;
int j=0;
for(i=0; i
==== Szétválogatás tétel ====
#include
main()
{
int tomb[] = {8, 9, 3, 5, 4, 2, 7};
int b[7], c[7];
int i, n=7;
int j=0, k=0;
for(i=0; i
===== Rendezés =====
==== Buborék rendezés ====
/* Buborék rendezés */
#include
int main()
{
int tomb[] = {3, 8, 2, 4, 5, 1, 6};
int n = 7; // A tömb elemeinek száma
int i, j, tmp;
for(i= n-1; i>0; i--)
for(j=0; j tomb[j+1])
{
tmp = tomb[j];
tomb[j] = tomb[j+1];
tomb[j+1] = tmp;
}
for(i=0; i
A belső ciklusban ha nem volt csere, akkor a tömb már rendezett,
felesleges tovább vinni a külső ciklust.
/* Buborék rendezés */
#include
int main()
{
int tomb[] = {3, 8, 2, 4, 5, 1, 6};
int n = 7; // A tömb elemeinek száma
int i, j, tmp, voltcsere=1;
for(i= n-1; i>0 && voltcsere; i--)
{
voltcsere = 0;
for(j=0; j tomb[j+1])
{
tmp = tomb[j];
tomb[j] = tomb[j+1];
tomb[j+1] = tmp;
voltcsere = 1;
}
}
for(i=0; i
Ha azt is megjegyezzük hol történt a csere, a buborékrendezés még inkább felgyorsul.
/* Buborék rendezés */
#include
int main()
{
int tomb[] = {3, 8, 2, 4, 5, 1, 6};
int n = 7; // A tömb elemeinek száma
int i, j, tmp, utolsocsere;
for(i= n-1; i>0 ; i = utolsocsere)
{
utolsocsere = 0;
for(j=0; j tomb[j+1])
{
tmp = tomb[j];
tomb[j] = tomb[j+1];
tomb[j+1] = tmp;
utolsocsere = j;
}
}
for(i=0; i
==== Összefésülő-rendezés ====
#include
void osszefesul(int a[], int p, int q, int r)
{
int n1 = q-p+1;
int n2 = r-q;
int bal[n1];
int jobb[n2];
int i, j, k;
for(i=0; i