#include<stdio.h>
#include <stdlib.h>
int visit(int, int);
int maze[][] =
{
{, , , , , , , , ,},
{, , , , , , , , ,},
{, , , , , , , , ,},
{, , , , , , , , ,},
{, , , , , , , , ,},
{, , , , , , , , ,},
{, , , , , , , , ,},
{, , , , , , , , ,},
{, , , , , , , , ,},
{, , , , , , , , , },
{, , , , , , , , , },
};
int startI = , startJ = ; // 入口
int endI = , endJ = ; // 出口
int success = ; int main(void) {
int i, j; printf("显示迷宫:\n");
for (i = ; i < ; i++) {
for (j = ; j < ; j++)
if (maze[i][j] == )
printf("■");
else
printf(" ");
printf("\n");
} if (visit(startI, startJ) == )
printf("\n沒有找到出口!\n");
else {
printf("\n显示路径:\n");
for (i = ; i < ; i++) {
for (j = ; j < ; j++) {
if (maze[i][j] == )
printf("■");
else if (maze[i][j] == )
printf("▲");
else
printf(" ");
}
printf("\n");
}
} return ;
} int visit(int i, int j) {
maze[i][j] = ; if (i == endI && j == endJ)
success = ; if (success != && maze[i][j + ] == ) visit(i, j + );
if (success != && maze[i + ][j] == ) visit(i + , j);
if (success != && maze[i][j - ] == ) visit(i, j - );
if (success != && maze[i - ][j] == ) visit(i - , j); if (success != )
maze[i][j] = ; return success;
}
 //参考.c
#include<iostream> using namespace std;
void strMatrix(int *a1, int **a2, int n);
void output(int **a2, int n);
int main()
{
int n, i, c, d;
cout << "How many numbers do you want to input:" << endl;
cin >> n;
int *arr1 = new int[n];
int **arr2 = new int*[n];
for (i = ; i < n; i++)
arr2[i] = new int[n];
cout << "Please input the numbers:" << endl;
for (i = ; i < n; i++)
cin >> arr1[i];
cout << "Please input the ralations:" << endl;
cin >> c;
cin >> d;
strMatrix(arr1, arr2, n);
output(arr2, n);
}
void strMatrix(int *a1, int **a2, int n)
{
for (int i = ; i < n; i++)
for (int j = ; j < n; j++)
{
if (a1[i] % a1[j] == )
a2[i][j] = ;
else
a2[i][j] = ;
}
}
void output(int **a2, int n)
{
for (int i = ; i < n; i++)
{
for (int j = ; j < n; j++)
cout << a2[i][j] << " ";
cout << endl;
}
} void zfx(int a[M][M], int n)
{
int i = , vale1 = , vale2 = ;/*vale1确定关系的自反性,vale2
判断关系的反自反性*/
while (i < n)
{
if (a[i][i] == ) vale2 = ;
else vale1 = ;
i++;
}
if (vale1 == ) printf("zfx\n");
if (vale2 == ) printf("fzfx\n");
if (!(vale1) && !(vale2)) printf("wzfxywfzfx\n");
}
void dcx(int a[M][M], int n)
{
int i, j, vale3 = , vale4 = ;/*vale3确定关系的对称性,vale4
判断关系的反对称性*/
for (i = ; i < n; i++)
for (j = ; j < i; j++)
if (a[i][j] == a[j][i])
vale4 = ;
else vale3 = ;
if (vale3 == ) printf("dcx\n");
if (vale4 == ) printf("fdcx\n");
if (!(vale3) && !(vale4)) printf("wdcx wfdcx\n");
} void cdx1(int a[M][M], int n)/*用MM ⊆2 算法来判断传递 性*/
{
int b[M][M], i, j, k, vale = ;
for (i = ; i < n; i++)
for (j = ; j < n; j++)
{
b[i][j] = ;
for (k = ; k < n; k++)
b[i][j] += a[i][k] * a[k][j];/*计算 2M */
}
for (i = ; i < n; i++)
for (j = ; j < n; j++)
if (b[i][j] != )
b[i][j] = ;
for (i = ; i < n; i++)
for (j = ; j < n; j++)
if (b[i][j] == )
if (a[i][j] != b[i][j])
vale = ;
if (vale)
printf("ycdx\n");
else
printf("wcdx\n");
}
void cdx2(int a[M][M], int n)/*用warshall算法来求传递闭
包数组b */
{
int b[M][M], i, j, k, vale = ;
for (i = ; i < n; i++)
for (j = ; j < n; j++)
b{ [i][j] = a[i][j];
for (k = ; k < n; k++)
i{ (f a[i][j] && (a[i][k] || a[j][k]))
b[i][k] = ;
}
}
for (i = ; i < n; i++) /* 判断数组a和b相等 */
for (j = ; j < n; j++)
(iaf[i][j] != b[i][j])
{
vale = ; break;
}
if (vale == ) printf("cdx\n");
else printf("wcdx\n");
}

简单C程序,迷宫的更多相关文章

  1. ACEXML解析XML文件——简单示例程序

    掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...

  2. 用python开发简单ftp程序

    根据alex老师视频开发的简单ftp程序,只能实现简单的get功能 ftp客户端程序: #!/usr/bin/env python #_*_ coding:utf-8 _*_ import socke ...

  3. 关于SIGSLOT的一个简单的程序

    废话少说直接看代码即可,这只是一个简单的程序,可以帮我们简单地明白SIGSLOT是怎么回事.至于深入研究自己去百度吧. #include "sigslot.h" using nam ...

  4. 关于《数据格式修改》的简单应用程序(C语言)

    关于<数据格式修改>的简单应用程序(C语言) 至亲爱的博友: 大家好,好久不见了.由于博主还是一名大学在校生,不可避免的需要和指导教师共同完成一些项目,因此前一段时间暂时停止了博客的更新. ...

  5. 简单购物车程序(Python)

    #简单购物车程序:money_all=0tag=Trueshop_car=[]shop_info={'apple':10,'tesla':100000,'mac':3000,'lenovo':3000 ...

  6. 基于C语言libvirt API简单小程序

    libvirt API简单小程序 1.程序代码如下 #include<stdio.h> #include<libvirt/libvirt.h> int getDomainInf ...

  7. 图解简单C程序的运行时结构

    程序在内存中的存储分为三个区域,分别是动态数据区.静态数据区和代码区.函数存储在代码区,全局变量以及静态变量存储在静态数据区,而在程序执行的时候才会在动态数据区产生数据.程序执行的本质就是代码区的指令 ...

  8. MFC制作简单通讯录程序

    学习c++和MFC一段时间了,苦于没有项目实战,所以自己写了一个简单的简单通讯录程序,以前用c#写简单很多,例程是这本书上的实例,我的第一个winform程序也是从这本书上学的,总结c#写的话更简单, ...

  9. Kubernetes学习笔记之安装minikube并运行个简单应用程序

    前言:本笔记仅记录学习记录,可能存在错误!!!使用的环境是Ubuntu Desktop 20.04,也有用Windows 10 操作的,根据的文档是minikube的文档教程,链接:https://m ...

随机推荐

  1. php 利用socket上传文件

    php 利用socket上传文件 张映 发表于 2010-06-02 分类目录: php 一,利用fsockopen来上传文件 以前我写过一篇关于socket通信原理的博文http://blog.51 ...

  2. StackExchange.Redis 官方文档(三) Events

    事件 ConnectionMultiplexer类型提供了很多可以用来了解表面状态下正在发生着什么的事件.这对日志是很有用的. ConfigurationChanged - ConnectionMul ...

  3. 分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群(转载)

    原文:http://www.open-open.com/lib/view/open1435468300700.html 第一步,确定目标: Tracker  192.168.224.20:22122 ...

  4. Practice Round China New Grad Test 2014 报告

    今天有Google of Greater China Test for New Grads of 2014的练习赛,主要是为了过几天的校园招聘测试做练习用的,帮助熟悉平台,题目嘛,个人觉得除了A题外, ...

  5. ipyparallel WordCount实现

            ipyparallel 之中,可以利用多个engine同时运行一个任务来加快处理的速度.在ipyparallel之中,集群被抽象为view,包括direct_view和balanced ...

  6. 在asp.net中使用ajax记录

    一.问题描述 ajax在mvc中使用频繁,比如cms中的评论功能,但由于涉及到前后端开发,日久容易忘,在此做下记录. 二.内容 控制器中代码示例: /// <summary> /// 在文 ...

  7. Android应用程序组成部分

    引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用 ...

  8. jquery 编写插件入门

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <sc ...

  9. Git 入门 ---- Git 与 SVN 区别

    一. Git 是什么?        Git 是目前世界上最先进的分布式版本控制系统     二. 基础知识 有中心的 SCM(Software Configuration Management) 服 ...

  10. apache的工作模式 和 最大连接数设置

    经过测试 效果明显 (1)首选查看apache的工作模式 windows下的查看apache的工作模式命令:httpd -l 如果列出mod_win32.c,则表示是 win32.c 工作方式. 列出 ...