#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. instancetype 和 id 的区别

    原文:http://blog.csdn.net/sirodeng/article/details/50516478 一.什么是instancetype instancetype是clang 3.5开始 ...

  2. Python学习【第十二篇】模块(2)

    序列化 1.什么是python序列化? 把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 序列化就是将python的数据类型转换成字符串 反序列化就是将字符串转换成 ...

  3. cocoapod升级版本

    原文 http://blog.csdn.net/sing_sing/article/details/49762359 该方法好用 sudo gem install -n /usr/local/bin ...

  4. IOS9新特性之Contacts联系人

    在以前iOS开发中,涉及联系人相关的编程,代码都非常繁琐,并且框架的设计也不是Objective-C风格的,这使开发者用起来非常的难受.在iOS9中,apple终于解决了这个问题,全新的Contact ...

  5. windows系统下安装Scala

    一.下载.msi文件 直接下一步安装 二.配置环境变量 1.环境变量 -->> 用户变量 -->> 新建 SCALA_HOME: D:\Program Files\scala ...

  6. IOS 代理的简单实现

    原文 http://www.cnblogs.com/lovekarri/archive/2012/03/04/2379197.html 昨天做了一个demo,用到了简单代理. delegate是ios ...

  7. JS拖动技术--- 关于setCapture

    <script type="text/javascript"> <!-- window.onload=function(){   objDiv = documen ...

  8. iOS 之 assign、retain、copy、nonatomic

    1. assign 1.1. 普通赋值 一般用于基本类型 1.2. 常见委托设计模式 防止循环引用 2. retain 保留计数,获取了对象的所有权.引用计数在原有基础上加1. 3. copy 同re ...

  9. 简述Hibernate三种开发方式

    1.由domain object->mapping->db(官方推荐) 2.由db开始,用工具生成mapping和domain object(使用较多) 3.由映射文件开始

  10. Delphi判断一个字符是否为汉字的最佳方法

    //判断字符是否是汉字 function IsHZ(ch: WideChar): boolean; var i:integer; begin i:=ord(ch); if( i<19968) o ...