| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1704 人关注过本帖
标题:数组的一个问题
只看楼主 加入收藏
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
错了么?

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2006-01-20 17:28
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
第一种的思路???????

2006-01-20 17:30
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
候捷大师曾云:源码之下了无秘密

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2006-01-20 17:32
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
以下是引用knocker在2006-1-20 17:28:00的发言:
错了么?

是不是也要用TC?我没有啊

用GCC不行,G++可以编译,但运行有点奇怪


2006-01-20 17:33
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
以下是引用knocker在2006-1-20 17:32:00的发言:
候捷大师曾云:源码之下了无秘密


不要那么小气,那种源码,,,,,,


2006-01-20 17:36
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

6
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11

10
1 2 3 4 5 6 7 8 9 10
36 37 38 39 40 41 42 43 44 11
35 64 65 66 67 68 69 70 45 12
34 63 84 85 86 87 88 71 46 13
33 62 83 96 97 98 89 72 47 14
32 61 82 95 100 99 90 73 48 15
31 60 81 94 93 92 91 74 49 16
30 59 80 79 78 77 76 75 50 17
29 58 57 56 55 54 53 52 51 18
28 27 26 25 24 23 22 21 20 19

3
1 2 3
8 9 4
7 6 5

GCC,G++,C-free,VC都是这个

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2006-01-20 17:42
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 

我还特意找的Cygwin的GCC


2006-01-20 18:00
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 

借鉴着改造一下

#include <iostream>
#include<iomanip>
using namespace std;

int main(){
cout<<"input n: ";
int n;
while(!(cin>>n))
{
cout<<"input error\n";
cin.clear();
while(cin.get()!='\n'){}
cout<<"input n : ";
}
int *p=new int[n];

for(int line=0; line<n; line++)
{
for(int list=0; list<n; list++)
{
int tmp1=(line > n-line-1 ? n-line-1: line);
int tmp2=(list > n-list-1 ? n-list-1: list);
int circle=(tmp1 < tmp2 ? tmp1 : tmp2);

if(list >= line)
p

    =(n-circle)*(circle*4)+list+line-2*circle+1;
    else
    p
      =(n-circle-1)*((circle+1)*4)-list-line+2*circle+1;
      }
      for(int i=0; i<n; i++)
      cout<<setw(5)<<p[i];
      cout<<"\n\n";

      }
      delete[]p;
      system("pause");
      }

      1+2+3+...+n=n(n+1)/2 忘了


2006-01-20 19:48
ElfDN
Rank: 4
等 级:贵宾
威 望:11
帖 子:291
专家分:0
注 册:2005-11-13
收藏
得分:0 

汗,连main()函数都被你搞成这样,你的C怎么学的?


2006-01-21 10:28
RL720
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2005-11-6
收藏
得分:0 
哈哈 小的也凑个热闹 写得不好多多包涵
本程序在WindowsXP SP2 + Microsoft Visual C++ 6.0条件下调试通过。
#include<iostream>

using namespace std;

const int MaxSize = 10;

class CRect
{
int Start;
int Size;
int Rect[MaxSize+1][MaxSize+1];
public:
CRect();
void FillRect();
void ShowRect();
};

CRect::CRect()
{
cout << "请输入魔方大小(1~10)(超过10的话看着不爽的):\t";
int size;
cin >> size;
Size = ( size<1 || size>MaxSize ) ? 5 : size;
Start = 1;
}

void CRect::FillRect()
{
int start=Start,size=Size;
int x(1),y(1),i,j;
while(size>0) //套环
{
for(i=x;i<=size+x-1;i++)
{
if(i==x) //第一行
for(j=y;j<=size+x-1;j++)
Rect[i][j]=start+j-i;
else if(i==Size-x+1) //最后一行
for(j=y;j<=size+x-1;j++)
Rect[i][j]=Rect[x][size+y-1]+2*size-2-j+x;
else //中间
{
Rect[i][y]=4*size-4+start-i+x;
Rect[i][size+x-1]=Rect[i-1][size+x-1]+1;
}
}
start = 4*size-4+start;
size -= 2;
x++;
y++;
}
}

void CRect::ShowRect()
{
for(int i=1,j;i<=Size;i++)
{
for(j=1;j<=Size;j++)
cout<<Rect[i][j]<<'\t';
cout<<endl;
}
}

void main()
{
while(1)
{
CRect a;
a.FillRect();
a.ShowRect();
cout<<"再来一次?(y/n):\t";
char usr;
cin>>usr;
if(usr=='N' || usr=='n') break;
system("cls");
}
}


2006-01-23 12:13
快速回复:数组的一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035442 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved