3. praktikum - Pointerimajandus: erinevus redaktsioonide vahel

Allikas: Lambda
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 ...'
 
9. rida: 9. 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.



Redaktsioon: 20. september 2012, kell 17:12

Süsteemprogrammeerimine keeles C

Praktikumid

Laborid

Selle praktikumi eesmärgiks on harjutada tööd pointeritega: dünaamiliste massiivide loomist ja funktsioonipointereid.

Ü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.