如何正确建立动态数组指针?

问题描述

如何正确建立动态数组指针?

#include
#include
using namespace std;
void getstring(char*a[],int n)
{
for (int i = 0; i < n; i++)
{
char p = new char[];
cin >> p;
a[i] = p;
}
}
void sort(char*a[], int n)
{
char * p;
for (int i = 0; i < n - 1; i++)
{
int k = i;
for (int j = i + 1; j < n; j++)
{
if (strcmp(a[k], a[j]) > 0) k = j;
}
if (k != i)
{
p = a[k];
a[k] = a[i];
a[i] = p;
}
}
}
void print(char *a[], int n)
{
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
cin.get();
}
}
int main()
{
int n;
cout << "Please enter a positive number:";
cin.get();
cin >> n;
char
array=new char[n];
getstring(array, n);
sort(array, n);
print(array, n);
return 0;
}
结果不正确,求助帮助

时间: 2024-09-20 07:30:10

如何正确建立动态数组指针?的相关文章

c++ 读取文件-c++读取文件时怎么读取行数和列数建立动态数组

问题描述 c++读取文件时怎么读取行数和列数建立动态数组 现有一个txt文件,里面全是数字,c++读取时怎么自动判断其行数和列数,并根据行数列数建立动态数组小白求解 解决方案 行数 是通过换行字符来进行判断列数 计算两个换行符之间的字符位置来得到 通过对文件内容的按字符遍历来实现统计的功能 解决方案二: 通过换行符确定行数,通过最长一行中的字符数确定列数 解决方案三: #include <sstream>#include <string>std::string line;std::

学习二维动态数组指针做矩阵运算的方法_C 语言

本文分享了利用二维动态数组指针做矩阵运算的实现代码. 1. 头文件     // juzhen 2.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "stdlib.h" #include "windows.h" #define OK 0 #define NG -1 typedef struct mat { int

指针部分,建立动态数组

#include <stdio.h> #include <stdlib.h> void check(int *p[]) { int i; printf("没及格的成绩有:\n"); for(i=0;i<5;i++) { if(p[i]<60) printf("%d ",p[i]); } printf("\n"); } int main() { int *pl,i; pl=(int *)malloc(5*size

C++建立动态二维数组

C++建立动态二维数组主要有两种方法: 1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组                           int **b=new int*[row];       //分配一个指针数组,将其首地址保存在b中                                                                for(i=0;i<row;i++)             //为指针数组的每个

visual studio-vs2013调试中,如何通过指针监视二维动态数组的值?

问题描述 vs2013调试中,如何通过指针监视二维动态数组的值? int **p = new int *[row]; for (i = 0; i < row; i++) p[i] = new int[column]; 比如说我用上面语句创建额一个row行column列的数组,调试的时候怎样在监视窗口中,看到整个二维数组的值呢? 如果是一维的,例如int *p=new int[5]: 可以将p,5写到监视名称里,可二维的我就不知道了...求帮助 解决方案 调试状态下,调试->窗口->内存,

存储-数据结构 动态配制 指针数组

问题描述 数据结构 动态配制 指针数组 使用命令行参数为学生总数(2).在标准输入中,在指令"输入氮名"时,输入一行的输入的数字(输入)的名称.使用二维动态分配将所有名称存储在一个变量中.打印输出结果在标准输出. 数据结构:指针数组 输入:名字 输出:氮名 条件: ?学生人数应该超过2个 使用动态分配存储的名字(malloc()) ?用户名称的长度应为30个字符 ?在名称中不允许空格 解决方案 #include <iostream> using namespace std;

指针数组,数组指针,指针函数,函数指针,二级指针详解

先看个简单的:char *p,这定义了一个指针,指针指向的数据类型是字符型,char  *(p)定义了一个指针P: char *p[4], 为指针数组,由于[]的优先级高于*,所以p先和[]结合,p[]是一个数组,暂时把p[]看成是q,也就是char *(q),定义了一个指针q,只不过q是一个数组罢了,故定义了一个数组,数组里面的数据是char *的,所以数组里面的数据为指针类型.所以char *p[4]是四个指针,这四个指针组成了一个数组,称为指针数组,既有多个指针组成的数组. char(*p

实现真正意义上的二维动态数组模板

我们可以通过动态数组的反例来确定动态数组应该具有哪些特性.大家都知道以下的方式是定义一个静态数组. int iCount[10]; int iCount[10][10]; 从上面可以看出,定义了静态数组之后,无论程序如果使这个数组,该数组在内存中所占空间的大小,位置是确定不变的. 我们可以得出结论,对于编译器,静态数组的大小和空间是已知的,因此编译器可以自动为该数组分配空间.具体情况是:如果你定义了一个全局数组,编译器将在数据区为你的数组分配一个空间:如果是个局部数组(比如定义在某一个局数中),

c++ c语言数据结构-怎么样在C++上用new建立一个数组

问题描述 怎么样在C++上用new建立一个数组 应该叫建立动态存储区吧,主要想请教一下关于结构体的,输入一个数字怎么样建立一个长度为这个数的数组 解决方案 很简单 int n; cin >> n; int * arr = new int[n]; 如果是结构体: int n; cin >> n; S * arr = new S[n]; for (int i = 0; i < arr; i++) arr[i] = new S(); 解决方案二: new一个指针数组哪位大哥知道怎么