当前位置: 代码迷 >> C语言 >> 难题 求高手帮忙
  详细解决方案

难题 求高手帮忙

热度:381   发布时间:2008-05-05 23:11:10.0
回复 9# 的帖子
不是用冒泡法
----------------解决方案--------------------------------------------------------
是按这个箭头顺序来输出的(图片里面)
----------------解决方案--------------------------------------------------------
re
好像杨辉三角呀
----------------解决方案--------------------------------------------------------
又玩jpeg压缩啊

[color=white]
----------------解决方案--------------------------------------------------------
晕,不说清楚,设置两个标志,一个控制左右,一个控制上下
----------------解决方案--------------------------------------------------------
void de(int (*squre)[100],int x,int y)
{
    int i=0,j=0;
    bool filp=false;
    while (i!=x-1 || j!=y-1)
    {
        printf("%d ",squre[j][i]);
        if (filp)i--,j++;
        else i++,j--;
        //转向
        if (i<0 || j<0 || i==x || j==y)
            filp=!filp;
        //修正
        if (i<0 && j==y)
            i=1,j=y-1;
        else
        {
            if (i<0)i=0;else if (i==x)i=x-1,j+=2;
            if (j<0)j=0;else if (j==y)j=y-1,i+=2;
        }
    }
    printf("%d\n",squre[x-1][y-1]);
}

话说,N久以前曾经写过一个……
----------------解决方案--------------------------------------------------------
RE
复制了
----------------解决方案--------------------------------------------------------
回复 16# 的帖子
老兄   
看不懂啊   
是用什么语言编的啊   
C 还是C++啊   
我都运行不出来
----------------解决方案--------------------------------------------------------
#include <string.h>
#include <iostream.h>
#include <stdio.h>

void main()
{  
    int a[6][6] = {1, 2, 6, 7,15,16,
                 3, 5, 8,14,17,26,
                 4, 9,13,18,25,27,
                 10,12,19,24,28,33,
                 11,20,23,29,32,34,
                 21,22,30,31,35,36};
    int *p;
    int temp;
    int i, j;


    for (i = 0; i < 6; i++)
        for (j = 0; j < 6; j++)
           for (p = (&a[i][j] + 1); p <= &a[5][5] ; p++)
           {
            if (a[i][j] > *p)
            {
                temp = a[i][j];
                a[i][j] = *p;
                *p = temp;
            }
           }
for (i = 0; i < 6; i++)
        for (j = 0; j < 6; j++)
            printf("%d\n", a[i][j]);
           
}
----------------解决方案--------------------------------------------------------
考虑下你的时间楼上..呵呵..还可以调整下
----------------解决方案--------------------------------------------------------
  相关解决方案