英文题求解(2)

bobbylee123 2010-06-16 11:25:00
3. Write a function named getSubarray that will return a subarray of its array argument. The values of the subarray are the values of the original array that are between two given numbers m and n, inclusive, where m <= n. The elements in the subarray should be in the same order as they were in the original array. If m > n, return null. Note that m and n are values in the array , they are not indices of elements of the array!

If you are writing in C or C++ the signature is
int * getSubarray(int a[ ], int len, int m, int n) where len is the number of elements in the array.

Your function should not modify the input array in any way! You will have to dynamically allocate a correctly sized array to hold the subarray.
Hint: To allocate an array in Java or C# use
int[ ] result = new int[count]
To allocate the array in C or C++ use
int * result = (int *)calloc(sizeof(int), count+1) where the last element is n+1 to mark the end of the array.
Examples
...全文
110 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
GKatHere 2010-06-16
  • 打赏
  • 举报
回复
#include "stdafx.h"
#include "math.h"
#include <conio.h>//
#include <istream.h>
#include <stdlib.h>

int * getSubarray(int a[ ], int len, int m, int n);
int iOrignal[] = {3, 9, -3, 1, 0, 3, 10};
int main(int argc, char* argv[])
{
int * pi;
int m = 0;
int n = 3;
pi = getSubarray(iOrignal, sizeof(iOrignal)/sizeof(int), m, n);
if(pi == NULL)
printf("取值时低值大于高值");
else
{
printf("新数组为:\n");
for(int iE = 0; pi[iE] != 3+1; iE++)
printf("%d,",pi[iE]);
}

free(pi);
getch();
}


/*
getSubarray函数从数组a中抽取值为m,n(m <= n)之间的数(含m,n),组成并返回新数组指针.
当m > n时,返回NULL
新数组以元素值为(n + 1)表数组结束.
*/

int * getSubarray(int a[ ], int len, int m, int n)
{
if (m > n)
return NULL;
int * result = (int *)calloc(sizeof(int), len+1);
int iCount = 0;
for (int i = 0; i < len; i++)
{
if(a[i] >= m && a[i] <= n)
{
result[iCount] = a[i];
iCount++;
}
}
printf("获得元素个数:%d\n",iCount);
int * piReturn = (int *)realloc(result, sizeof(int) * (iCount + 1 + 1));
piReturn[iCount] = n+1;
return piReturn;
}
bobbylee123 2010-06-16
  • 打赏
  • 举报
回复
请哪位大哥给出解题答案
高等应用数学问的MATLAB求解随书光盘 光盘分为两部分上传,第一部分是CAI教学资源 第二部分的资源名为:高等应用数学问的MATLAB求解光盘 part2:包含书中开发函数,使用资源及例全部代码 光盘使用说明 本光盘是薛定宇和陈阳泉所著《高等应用数学问的MATLAB求解》一书的配书光盘。本光盘的著作权归作者所有。清华大学出版社享有该光盘的中文简体版专有出版权。 本光盘包括如下目录: “CAI教学材料” 包含全套的PowerPoint文件,可以直接用于教学,具体请参见该目录中的readme.pps文件说明。目前包含的为中文版辅助材料。最新版本将在下面给出的“MATLAB大观园”网站不定期更新。英文版教学辅助材料也将在该网站给出,适于双语教学。 “例全部代码” 包含本书全部例的MATLAB语句。文件命名方法为examp章号_例号.m,例如书中例 3-5 对应的文件名为examp3_5.m。为能使得本书例 方便执行,可以在MATLAB的命令窗口中由File/Set Path菜单将例所在目录包含在内。 “开发函数和使用资源” 包含作者为本书开发的全套函数;一些可以用于符号运算的新函数放在了@sym子目录下;rsda子目录下为“粗糙集数据处理工具箱”, 该工具箱原作者为张雪峰,由薛定宇修改后定稿。 本书建议使用的其他免费工具箱均可以从给出的MATLAB大观园直接下载,其最新版本可以从下面的地址直接免费下载。 (1) bnb工具箱,书中第 6 章介绍的非线性整数规划程序。下载地址: http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=95&objectType=file (2) gaot工具箱,用遗传算法求解最优化问的工具箱。为了避免和MATLAB 7.0版本的新遗传算法与直接搜索工具箱在函数名上的冲突 ,这里将主函数名改为gaopt.m,相应的函数调用语句也作了适当的改动。下载地址: http://www.ie.ncsu.edu/mirage/GAToolBox/gaot/ http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=2797&objectType=file (3) lpsolve工具箱,整数线性规划的工具箱,由C语言通过mex格式调用,如果在您的MATLAB环境下不能正确使用该工具箱的dll文件,则说明MATLAB版本不兼容,需要您自己运行该目录的lp_mex.m文件重新生成dll文件。下载地址: ftp://ftp.ics.ele.tue.nl/pub/lp_solve/ http://www.netlib.org/ampl/solvers/lpsolve/ (4) nit_new工具箱,是数值积分工具箱的修改版,原版适合于 MATLAB 4.X,为能在当前MATLAB版本下运行,对个别文件做了相关修正。下载地址: http://www.matlab-world.com/progs/toolbox/nit.zip 本书所涉及的TeXPoint 2.0.3插件是由美国加州Berkeley大学开发的,包括3个文件,其最新版本可以到开发者的网站免费下载。下载地址: http://raw.cs.berkeley.edu/texpoint/ TeXPoint 2.0.3插件所包括的3个文件也可以分别在如下地址下载: http://www.matlab-world.com/temp/TexPoint2000-2.0.3.msi http://www.matlab-world.com/temp/TexPoint2002-2.0.3.msi http://www.matlab-world.com/temp/TexPoint2003-2.0.3.msi 相关网站地址列表: MATLAB大观园,作者维护的MATLAB教学与资源网站。网站地址: http://www.matlab-world.
高等应用数学问的MATLAB求解随书光盘 光盘分为两部分上传,第一部分是CAI教学资源 第一部分的资源名为:高等应用数学问的MATLAB求解光盘 part1:包含书中CAI教学材料 光盘使用说明 本光盘是薛定宇和陈阳泉所著《高等应用数学问的MATLAB求解》一书的配书光盘。本光盘的著作权归作者所有。清华大学出版社享有该光盘的中文简体版专有出版权。 本光盘包括如下目录: “CAI教学材料” 包含全套的PowerPoint文件,可以直接用于教学,具体请参见该目录中的readme.pps文件说明。目前包含的为中文版辅助材料。最新版本将在下面给出的“MATLAB大观园”网站不定期更新。英文版教学辅助材料也将在该网站给出,适于双语教学。 “例全部代码” 包含本书全部例的MATLAB语句。文件命名方法为examp章号_例号.m,例如书中例 3-5 对应的文件名为examp3_5.m。为能使得本书例 方便执行,可以在MATLAB的命令窗口中由File/Set Path菜单将例所在目录包含在内。 “开发函数和使用资源” 包含作者为本书开发的全套函数;一些可以用于符号运算的新函数放在了@sym子目录下;rsda子目录下为“粗糙集数据处理工具箱”, 该工具箱原作者为张雪峰,由薛定宇修改后定稿。 本书建议使用的其他免费工具箱均可以从给出的MATLAB大观园直接下载,其最新版本可以从下面的地址直接免费下载。 (1) bnb工具箱,书中第 6 章介绍的非线性整数规划程序。下载地址: http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=95&objectType=file (2) gaot工具箱,用遗传算法求解最优化问的工具箱。为了避免和MATLAB 7.0版本的新遗传算法与直接搜索工具箱在函数名上的冲突 ,这里将主函数名改为gaopt.m,相应的函数调用语句也作了适当的改动。下载地址: http://www.ie.ncsu.edu/mirage/GAToolBox/gaot/ http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=2797&objectType=file (3) lpsolve工具箱,整数线性规划的工具箱,由C语言通过mex格式调用,如果在您的MATLAB环境下不能正确使用该工具箱的dll文件,则说明MATLAB版本不兼容,需要您自己运行该目录的lp_mex.m文件重新生成dll文件。下载地址: ftp://ftp.ics.ele.tue.nl/pub/lp_solve/ http://www.netlib.org/ampl/solvers/lpsolve/ (4) nit_new工具箱,是数值积分工具箱的修改版,原版适合于 MATLAB 4.X,为能在当前MATLAB版本下运行,对个别文件做了相关修正。下载地址: http://www.matlab-world.com/progs/toolbox/nit.zip 本书所涉及的TeXPoint 2.0.3插件是由美国加州Berkeley大学开发的,包括3个文件,其最新版本可以到开发者的网站免费下载。下载地址: http://raw.cs.berkeley.edu/texpoint/ TeXPoint 2.0.3插件所包括的3个文件也可以分别在如下地址下载: http://www.matlab-world.com/temp/TexPoint2000-2.0.3.msi http://www.matlab-world.com/temp/TexPoint2002-2.0.3.msi http://www.matlab-world.com/temp/TexPoint2003-2.0.3.msi 相关网站地址列表: MATLAB大观园,作者维护的MATLAB教学与资源网站。网站地址: http://www.matlab-world.com MATLAB语言与应用论坛,作者维护
《算法导论(原书第2版)》一书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问的NP完全性的证明等内容。全书提供了900多个练习和思考以及叙述较为详细的实例研究。   《算法导论(原书第2版)》一书内容丰富,对本科生的数据结构课程和研究生的算法课程都是很实用的教材。本书在读者的职业生涯中,也是一本案头的数学参考书或工程实践手册。   在有关算法的书中,有一些叙述非常严谨,但不够全面,另一些涉及了大量的材,但又缺乏严谨性。《算法导论》将严谨性和全面性融为一体。   《算法导论(原书第2版)》一书深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。各章自成体系,可以作为独立的学习单元。算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂。说明和解释力求浅显易懂,不失深度和数学严谨性。   《算法导论(原书第2版)》一书自第1版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考书。第2版增加了论述算法作用、概率分析与随机算法、线性规划等几章。同时,对第1版的几乎每一节都作了大量的修订。一项巧妙而又重要的修改是提前引入循环不变式,并在全书中用来证明算法的正确性。在不改变数学和分析重点的前提下,作者将许多数学基础知识从第一部分移到了附录中,并在开始部分加入了一些富有诱导性的材。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧