3. praktikum - Pointerimajandus: erinevus redaktsioonide vahel
Mine navigeerimisribale
Mine otsikasti
Uus lehekülg: '{{Itv0020}} Selle praktikumi eesmärgiks on harjutada tööd pointeritega: dünaamiliste massiivide loomist ja funktsioonipointereid. == Ülesanne == * Kirjutage programm, mis ...' |
Resümee puudub |
||
| (ei näidata sama kasutaja üht vahepealset redaktsiooni) | |||
| 1. rida: | 1. rida: | ||
{{Itv0020}} | {{Itv0020}} | ||
Selle praktikumi eesmärgiks on harjutada tööd pointeritega: dünaamiliste massiivide loomist ja funktsioonipointereid. | Selle praktikumi eesmärgiks on harjutada tööd pointeritega: dünaamiliste massiivide loomist ja funktsioonipointereid. | ||
See tundub jube ja teil tekib soov teha seda kõike ümber adresseerides ja arvutades. Selline lähenemine on vale: kahemõõtmeline massiiv kahe malloc() väljakutsega on elementaarne C manööver ning selle vältimine tähendab, et mistahes programmi kirjutades tuleb hiljem ''ilge jama''. Vaimustuge mõttest teha korrektne kahemõõtmeline massiiv dünaamilises mälus! Te arenete inimesena! | |||
== Ülesanne == | == Ülesanne == | ||
| 9. rida: | 11. rida: | ||
* Kirjutage funktsioon apply(), mis rakendab igale etteantud massiivis olevale arvule etteantud funktsiooni ja salvestab tulemuse sinnasamasse. | * Kirjutage funktsioon apply(), mis rakendab igale etteantud massiivis olevale arvule etteantud funktsiooni ja salvestab tulemuse sinnasamasse. | ||
void apply(int* arr, int arrx, int arry, int (*function)(int)) | void apply(int** arr, int arrx, int arry, int (*function)(int)) | ||
:: Kasutage funktsiooni loodud massiivi töötlemiseks. | :: Kasutage funktsiooni loodud massiivi töötlemiseks. | ||
Viimane redaktsioon: 20. september 2012, kell 17:29
Selle praktikumi eesmärgiks on harjutada tööd pointeritega: dünaamiliste massiivide loomist ja funktsioonipointereid.
See tundub jube ja teil tekib soov teha seda kõike ümber adresseerides ja arvutades. Selline lähenemine on vale: kahemõõtmeline massiiv kahe malloc() väljakutsega on elementaarne C manööver ning selle vältimine tähendab, et mistahes programmi kirjutades tuleb hiljem ilge jama. Vaimustuge mõttest teha korrektne kahemõõtmeline massiiv dünaamilises mälus! Te arenete inimesena!
Ülesanne
- Kirjutage programm, mis saab käsurealt ühe arvu ja loob selle põhjal mällu uue kahemõõtmelise massiivi. Hõiva selle jaoks mälu.
- Kirjutage massiivi mingi omamõeldud sisu: näiteks korrutustabel vms.
- Trükkige saadud tabel ekraanile (väga suured tabelid saab suunata faili, seega ei pea kujunduse pärast muretsema).
- Kirjutage funktsioon apply(), mis rakendab igale etteantud massiivis olevale arvule etteantud funktsiooni ja salvestab tulemuse sinnasamasse.
void apply(int** arr, int arrx, int arry, int (*function)(int))
- Kasutage funktsiooni loodud massiivi töötlemiseks.
Kasutamise näide:
apply(arr, 3, 4, foo);
Vihjeid
- Funktsiooni main() argumentideks on üks täisarv ja üks kahemõõtmeline char-ide massiiv.
- Püüdke kahemõõtmelise massiivi initsialiseerimine kirjutada oma peaga tühja faili uuesti. See võib olla eksamiülesanne.