И всё же пришлось делать бинарный (
Через txt не проканало, я наконец понял что преподу нужно...
Судь такова сохранить эти 3 массива в .bin, ( чтобы размер картинки был равен = этого массива )
 int TotalSize=width_im *height_im;
     FILE *out = fopen("array.bin", "wb");  // Открыть файл
  fwrite(red, TotalSize, 1, out);
        fclose(out);    // Закрыть файл
P.S. Извиняюсь перед человеком, который сказал про fwrite и  wb , а я этот вариант не принял...
Сохраняю в этом примере только красную составляющую цвета..
В итоге всё сохраняется, весит также, короче всё ок, но !!! при восстановлении из этого бинарного файла происходят какие то помехи.
Рисунок приложу
Считываю вот так
 int height_im = 400;
    int width_im = 400;
int TotalSize=width_im *height_im;
int Y [height_im][width_im];
   FILE *in = fopen("array.bin", "rb");   // Открыть файл
    fread(Y, TotalSize, 1, in);   // Прочитать данные 
    fclose(in);    // Закрыть файл
1) Значения вроде  записываются правильные (проверял, сохранив как бмп картинку)
2) Ошибки эти возникают всегда в одних местах...
[img="
http://itmode.ru/Mysor/ddd.bmp"][/img]