| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1280 人关注过本帖
标题:自定义函数格式和读取已定义好的函数
只看楼主 加入收藏
丶傻
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-4-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
自定义函数格式和读取已定义好的函数
RT,初学者...谁教下我,谢谢
搜索更多相关主题的帖子: 谢谢 
2011-04-10 20:10
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
函数有格式嘛?  函数只有类型吧

两个东西决定一个函数类型 参数类型和返回值类型

也把他们两个合起来叫做函数的类型

                                         
===========深入<----------------->浅出============
2011-04-10 20:12
丶傻
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-4-7
收藏
得分:0 
回复 2楼 laoyang103
就是加main()前运行的那个...之前会用了...然后过了一段时间没碰就忘了...现在想用了,不会了...纠结

Never give up
2011-04-10 20:13
丶傻
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-4-7
收藏
得分:0 
我知道这些对各位大大不难...可教下我吧...

Never give up
2011-04-10 20:17
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
主函数之前运行的函数  

那是什么函数?   可否给我段代码?

                                         
===========深入<----------------->浅出============
2011-04-10 20:24
丶傻
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-4-7
收藏
得分:0 
回复 5楼 laoyang103
自定义函数的函数在main函数之前必须被声明
代码等下...我去找找

Never give up
2011-04-10 20:26
丶傻
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-4-7
收藏
得分:0 
#include <iostream>
#include <queue>
using namespace std;

typedef struct
{
    int x,y,cout;
}unit;

unit arr[40000];
char map[202][202];
int n,m,step,dir[4][2]={{-1,0},{0,1},{1,0},{0,-1}};
bool flag;

void bfs(int a,int b)
{
    unit cur,next;
    int i;
    queue<unit> q;
    map[a][b] = '#';
    cur.x = a;
    cur.y = b;
    cur.cout = 1;
    q.push(cur);
    while(!q.empty())
    {
        cur = q.front();
        q.pop();
        for(i=0;i<4;i++)
        {
            next.x = cur.x+dir[i][0];
            next.y = cur.y+dir[i][1];
            if(next.x>=0 && next.x<n && next.y>=0 && next.y<m)
            {
                if(map[next.x][next.y]=='.')
                {
                    next.cout = cur.cout+1;
                    q.push(next);
                    map[next.x][next.y]='#';
                }
                else if(map[next.x][next.y]=='x')
                {
                    next.cout = cur.cout+2;
                    q.push(next);
                    map[next.x][next.y]='#';
                }
                else if(map[next.x][next.y]=='a')
                {
                    flag = true;
                    step = step<cur.cout?step:cur.cout;
                }
            }
        }
    }
    return;
}

int main()
{
    int i,j;
    while(cin>>n>>m)
    {
        flag = false;
        step = n*m;
        for(i=0;i<n;i++)
            cin>>map[i];
        for(i=0;i<n;i++)
            for(j=0;j<m;j++)
                if(map[i][j]=='r')
                    bfs(i,j);
        if(flag)
            cout<<step<<endl;
        else
            cout<<"Poor ANGEL has to stay in the prison all his life."<<endl;
    }
    return 0;
}

Never give up
2011-04-10 20:42
丶傻
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-4-7
收藏
得分:0 
C没找到...我只找到了C++的...代码有点区别而已...就是main前面定义好的东西...调用不大懂

Never give up
2011-04-10 20:43
丶傻
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-4-7
收藏
得分:0 
谁教下啊

Never give up
2011-04-10 20:51
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
呵呵 原来是函数调用之前的声明啊  

对于你的bfs你是定义在主函数之前的  所以你的调用的时候

主函数已经知道了你的bfs函数的类型  所以调用之前就不用声明它的类型

对于你的那些变量 最好把它删掉  少使用全局的变量  

那个结构体也和bfs函数一样  都是在主函数之前定义的  用它定义一个变量和用

调用函数原理是一样的

                                         
===========深入<----------------->浅出============
2011-04-10 20:52
快速回复:自定义函数格式和读取已定义好的函数
数据加载中...
 
   



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

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