Diskuze: C zmenseni / zvestseni pole[]
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Vyreseno !
for(int i = 0; i < (sizeof(znaky)/sizeof(int));i++) ...chybely tam zavorky.... 🙄 🙂
Je dobré oddělovat různé činnosti od sebe, tedy mít samostatnou funkci pro scale a pro výpis pole. Scale je lineární funkce, není třeba nastavovat mody ve volání, lepší je použít rovnou scale koeficient a s ním pracovat uvnitř funkce. Podívej na modifikovaný příklad:
#include <stdio.h>
void print_arr(int* arr, int size);
void scale_arr(int* arr, int size, int scale);
int main(void) {
int arr[] = { 16,32 };
int size = sizeof(arr) / sizeof(int);
int scale_koef = 1; // 0 - shrink, 1 - beze změny, 2+ - zvětšení
scale_arr(arr, size, scale_koef);
print_arr(arr, size);
return 0;
}
void print_arr(int* arr, int size) {
for (int i = 0; i < size; i++) printf("%d\n", arr[i]);
}
void scale_arr(int* arr, int size, int scale) {
for (int i = 0; i < size; i++) arr[i] = arr[i] * scale;
}
No super. Tohle je přesně ono. ...Mám totiž texturu(custom znakovou sadu)
s okny 16x32(jako ideálně čitelný rozměr). A potřebuji akorát 1x shrink,
beze změny, 1x zvětšení. To úplně stačí...Funkce na 3 řádky i se
závorkama...
Tak díky za tip.
Zobrazeno 4 zpráv z 4.