
C/C++
文章平均质量分 52
一些C/C++相关的算法或者做的东西
Icy Hunter
如果我真的存在,也是因为你需要我
展开
-
问题 CZ: 甜蜜的烦恼(关于c++中string的一些用法)
比如,在一份名单中找某个人的姓名,在以前,她得依次逐个查找,速度慢又很容易看错。现在,她使用菜单命令:“编辑”-“查找”(或按Ctrl+F键),在弹出的查找对话框中,输入要查找的姓名,电脑就会找到要找的姓名或告诉你不存在你要找的姓名了。今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张 明”是有的!珍珍想删除所有姓名中间的空格,但由于名单很多,一个一个删除太慢了,所以她找到了会编程解决问题的你,请你写一个程序,删除所有名单中间的空格。第一行只有一个正整数n,表示名单中共有n个人的姓名。原创 2024-03-22 21:50:09 · 342 阅读 · 0 评论 -
问题 D: 马走日
简单、粗暴的代码。题目描述马在中国象棋以日字形规则移动。请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。输入格式第一行为整数T(T < 10),表示测试数据组数。每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y。(0≤x≤n-1,0≤y≤m-1, m < 10, n < 10)。输出格式每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,0为无法遍历一次。输入样例原创 2022-06-08 23:50:17 · 321 阅读 · 1 评论 -
遗传算法C语言实现以及思路详解简单易懂
目录前言实例代码解释1.初始化参数以及变量设置2.定义环境(定义目标函数)3.DNA解码(计算x,y)4.初始化种群(初始化解,考虑定义域)5.计算适应度(计算误差,考虑定义域)6.适者生存(挑选误差较小的答案)7.生殖、变异(更改部分二进制位,取反部分二进制位,可能生成误差更小的答案)8.copy函数(将选择的selected_animal赋值回animal以便迭代遗传进化)9.遗传进化以及结果选择10.完整代码总结前言前几天刚用python实现了遗传算法用于求解函数最值,详见遗传算法详解pytho原创 2022-05-15 13:40:17 · 6851 阅读 · 13 评论 -
C语言实现一些算法或者函数以及一些经典问题的分析
C语言实现一些算法或者函数1.递归二分搜索2.递归归并排序1.递归二分搜索#include<bits/stdc++.h>using namespace std;int a[100];int pos = -1;void binarysearch(int l, int r, int x){ if(l > r)return; else{ int mid = (l+r)/2; if(x == a[mid]) { pos = mid; return; }原创 2022-02-28 11:36:38 · 1083 阅读 · 0 评论 -
C语言的一些函数的用法
因为这学期又有涉及算法的课,c语言还是比较快的,以前也都是用c写算法的,但是好久没碰c了,一些操作都记不太清了,就整理整理,方便以后唤醒记忆。C语言的一些函数的用法编译器万能头文件1 scanf(),printf()2 cin,cout3 struct结构体4 strlen()5 strlwr(),strupr()6 abs(),sqrt(),pow(),log(),exp()7 fabs(),fmod(),floor()8 自定义函数9 sort排序(可自定义结构体排序方式)编译器Dev-C++原创 2022-02-27 16:50:46 · 1977 阅读 · 0 评论 -
C语言递归实现归并排序
归并排序递归实现还是比较难理解的,感觉涉及递归一般理解起来都会比较有难度吧,但是看了b站视频,然后照着打下来,然后自己写了点注释,就发现不知不觉都大概懂了。这里的归并讲的是升序排序归并排序思路大概就是:先划分数组,将数组划分为左右半区,分成的左右半区,各自再划分左右半区,一直划分,直到最后左右半区的元素都为一个时,开始合并,因为都划分为一个元素了,那么此时两个元素的排序就非常简单了,只需要比较大小就可以排序了,那么回溯上去会发现每组都是两两有序了,那么直接再依次比较两组之间的排头元素即可,取较小的赋值给原创 2022-02-26 23:08:35 · 1100 阅读 · 0 评论 -
飞机大战(融入数据结构-技能树、弗洛伊德算法)
飞机大战融入数据结构有点生硬但是非常简单简单介绍一下:#wsad为上下左右,u为升级,空格为发射子弹#飞机移动需要消耗行动点,发射子弹需要消耗弹药#敌机数量和速度都会随着分数而变多变快#敌机多了会产生重叠,便间接形成了敌机血量的增加的功能#敌机被打掉会掉落道具点(A、B、C、D、E最多5个)由于移动需要行动点,便设置了用floyd寻找最短路径的功能,用起来也比较简单。#技能点可以用于升级,一次可以用2或者4升级,4升级有更强的属性加成例如召唤友军或者增加子弹的宽度#友军在耗费4点技能点升级原创 2021-06-24 15:40:55 · 1173 阅读 · 0 评论 -
麦考利久期公式(c语言实现)
麦考利久期公式如上图#include<bits/stdc++.h>using namespace std;double MacD(double F,double n,double i,double c){ double fz=0; double moneytax = F*c; for(double j=1;j<=n;j++) { fz+=j*moneytax/pow(1+i,j); } fz+=n*F/pow(1+i,n); cout<<fz<.原创 2021-06-19 19:50:57 · 1406 阅读 · 1 评论 -
问题 C: 【例4-2】牛的旅行
问题 C: 【例4-2】牛的旅行题目描述农民John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区不连通。现在,John想在农场里添加一条路径 ( 注意,恰好一条 )。对这条路径有这样的限制:一个牧场的直径就是牧场中最远的两个牧区的距离 ( 本题中所提到的所有距离指的都是最短的距离 )。考虑如下的两个牧场,图1是有5个牧区的牧场,牧区用“*”表示,路径用直线表示。每一个牧区都有自己的坐标:图1所示的牧场的直径大约是12.07106原创 2021-06-04 09:55:01 · 595 阅读 · 0 评论 -
7-2 哈利·波特的考试 (25 分)(解释的挺详细了吧)
7-2 哈利·波特的考试 (25 分)哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面列出了所有的变形魔咒和能变的动物。老师允许他自己带一只动物去考场,要考察他把这只动原创 2021-06-04 09:40:44 · 5432 阅读 · 5 评论 -
6-2 最小生成树(克鲁斯卡尔算法) (10 分)
6-2 最小生成树(克鲁斯卡尔算法) (10 分)试实现克鲁斯卡尔最小生成树算法。函数接口定义:void Kruskal(AMGraph G);其中 G 是基于邻接矩阵存储表示的无向图。裁判测试程序样例:#include <stdio.h>#define MVNum 10#define MaxInt 32767typedef struct{char vexs[MVNum];int arcs[MVNum][MVNum];int vexnum,arcnum;}AMGraph原创 2021-05-28 09:40:25 · 6288 阅读 · 3 评论 -
感知器模型(简单的感知器模型用C语言写的)
明人不说暗话,这就是一次作业,用c语言写感知器模型(嫖嫖改改来的),是一种比较简单的机器学习模型,主要是解决线性二分类问题,代码注释应该挺详细了吧,不懂再问吧#include<bits/stdc++.h>using namespace std;#define nTrain 183//训练样本数量#define nInput 6//训练样本维度#define eta 1//学习速率#define nTest 120//测试样本数量#define maxItre 100//学习率,最大原创 2021-05-24 21:22:55 · 566 阅读 · 8 评论 -
C语言sort排序
sort排序结构体及sort降序排序<写给自己看的>#include<bits/stdc++.h>using namespace std;struct object{ int a; int b; int c;}sth[5];int x[5];int cmp1(object x,object y){ if(x.a==y.a){ if(x.b==y.b){ return x.c>y.c; } else return x.b>y.b原创 2021-01-23 12:41:02 · 2236 阅读 · 0 评论 -
C语言随机小游戏(升级版)
#include<bits/stdc++.h>using namespace std;int n,r, a[1000], v[1000];//a存组合数,v判断数字是否放过 int gamer[1000][2],gamerhero[1000];//每轮比赛选手,每个选手的英雄序号 int j=1;//组合选手分组 int heroflag[1000];//英雄是否被选过int actionflag[1000];//技能是否被用过 int score[1000]={0};//选手比分原创 2021-01-05 13:36:16 · 4869 阅读 · 10 评论 -
C语言小小游戏(随机)
C语言小小游戏(随机)#include<bits/stdc++.h>using namespace std;struct hero {char name[20];}hero[6];//英雄名// srand(time(0)),[m,n]->rand%(n-m+1)+m;随机数的生成范围的书写struct action {char act[20];}action[20];//技能名struct result{char jg[8];}result[6];//决斗结局i原创 2020-12-28 16:17:29 · 4743 阅读 · 10 评论