如何用程式語言將文字檔內容做90、180、270度的轉向?
假如說我有一個文字檔(.txt)的內容如下
890
1234567
7654321
098
我要如果利用程式語言(c或VB)將這個文字內容做90、180、270度
的轉向呢?也就是說讓這先文字就向圖片檔一樣,可以做整個顯
示上的轉向?
有點困難
我想了很久,希望有人可以幫我解解惑阿~好苦惱
這有辦法可以成功嗎?
2006-12-11 17:00:00 · 2 個解答 · 發問者 Anonymous in 電腦與網際網路 ➔ 程式設計
#include
#include
#include
#define MAX 256
char **b, **r;
void dim2(char ***A, int h, int w)
{ int i, w0;
char *buf, **idx;
*A = 0; // Assume allocation fail
if ( idx = (char **) malloc(sizeof(char*) * h) ) // if (!NULL)
if ( buf = (char *) malloc(sizeof(char ) * h * w) )
{ for (w0=i=0; i
*A = idx;
}
else free(idx); // Can not alloc the 2nd, free the 1st
}
void show(int h)
{ int i;
for (i=0; i
printf("\n");
}
void rota(int h, int w)
{ int i, j;
char **t;
for (i=0; i
for (i=h+1,j=0; j
t = r, r = b, b = t;
}
int main(int argc, char **argv)
{ int i, j, h, w;
FILE *f;
if (f=fopen(argv[1], "r"))
{ dim2(&b, MAX, MAX);
dim2(&r, MAX, MAX);
for (w=h=0; h
if (i>w) w = i;
}
for (i=0; i
b[i][j] = '\n', b[i][w] = 0;
}
for (i++,j=0; j
w--;
show(h); // Original
rota(h, w); show(w); // 90
rota(w, h); show(h); // 180
rota(h, w); show(w); // 270
free(*b); free(b);
free(*r); free(r);
} else
printf("Please add a valid text_file_name following the command\n");
system("PAUSE");
return 0;
}
2006-12-20 02:48:54 · answer #1 · answered by ? 7 · 0⤊ 0⤋
這種東西我在工程數學上有聽過不過那節課我在睡覺
我只知道要把他存入2維陣列
然後使用工程數學裡面有個公式可以將資料交換,但是我不記得了,目前只記得要把他存在2維陣列,然後使用回圈去調動他的位子
剩下的你自己想看看,這個只是個起頭,最多使用土法煉鋼慢慢去掉他位子
2006-12-11 20:02:44 · answer #2 · answered by 永恆的破壞 5 · 0⤊ 0⤋