[[: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