生成 zigzag(JPEG编码里取像素数据的排列顺序) 样式的二维数组
2013-03-01 16:13
309 查看
zigzag(JPEG编码里取像素数据的排列顺序)
例如:
0, 1, 5, 6,
2, 4, 7,12,
3, 8, 11,13,
9, 10, 14, 15.
(注意二维数组的使用)
书中写:
结果是:
这种情况是 左下角优先(小) 的情况、
例如:
0, 1, 5, 6,
2, 4, 7,12,
3, 8, 11,13,
9, 10, 14, 15.
(注意二维数组的使用)
#include "stdafx.h" #include <iostream> #include <stdio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int N; int i, j; int s; scanf("%d", &N); int **a = (int **)malloc(sizeof(int) * N); //N行指针--分配空间 if(a == NULL) return 0; //给每行分配空间 for(i = 0; i < N; i++) { if( NULL == (a[i] = (int *)malloc(sizeof(int) * N))) { //注意,分配空间失败的话,不仅仅是返回,还要释放掉之前申请的 while(i--) free(a[i]); free(a); return 0; //分配空间失败,返回哦 } } //赋值 for(i = 0; i < N; i++) { for(j = 0; j < N; j++) { s = i + j; if(s < N) { a[i][j] = s * (s + 1)/2 + (s % 2 == 0 ? i : j); } else { s = (N - 1 -i) + (N - 1 - j); a[i][j] = N * N - s * (s + 1) / 2 - (N - ((s %2 == 0 ? i:j))); } } } //打印输出 for(i = 0; i < N; i++) { for(j = 0; j < N; j++) { cout<<a[i][j]<<" "; } cout<<endl; } getchar(); getchar(); return 0; }
书中写:
if(s < N) { a[i][j] = s * (s + 1)/2 + (s % 2 == 0 ? i : j); } else { s = (N - 1 -i) + (N - 1 - j); a[i][j] = N * N - s * (s + 1) / 2 - (N - ((s %2 == 0 ? i:j))); }
结果是:
这种情况是 左下角优先(小) 的情况、
相关文章推荐
- 面试例题:输入n,求一个n x n矩阵,规定矩阵沿45度递增,形成一个zigzag数组(JPEG编码里取像素数据的排列顺序),请问如何用C++实现? (中国台湾著名硬件公司2007年11月面试题)
- 形成一个zigzag数组(JPEG编码里取像素数据的排列顺序)
- 对面试题“输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组(JPEG编码里取像素数据的排列顺序),请问如何用C++实现?”的理解
- 二维数组形成zigzag排列顺序
- 将多条数据以横向排列生成报表
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 按顺序排列id, 我想这是可以支持打数据量的办法了。重新排序140万数据需要200多秒。今天总算升级到了4条裤头子+
- Matlab 1.矩阵的切割再把得到的矩阵按顺序拼接排列(1维数据按规律转为2维数据方便深度学习使用)
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 让Jackson JSON生成的数据包含的中文以unicode方式编码
- 如何让Jackson JSON生成的数据包含的中文以unicode方式编码
- C输入5个数据按从大到小的顺序排列
- 任意语言,任意大小,任意字体,任意格式,任意范围,任意字符,任意扫描方式取模,生成字节,UNICODE_Font_宋体16_ 纵向取模下高位_数据排列_从左到右从上到下
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- //写一个生成10个100以内随机数数据,再进行冒泡排序,顺序,//二分查找法找到一个值得位置,如果没有则为-1,有则返回数组位置
- 前台利用javascript解析Json数据,生成编码折线
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 浮点型数据的比较2010-04-16 12:15应注意排列顺序
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。