为什么输出后的数组不对??

//函数返回最大值,pRow和pCol分别返回最大值所在的行列下标
例如,程序的1次运行结果如下:
Input n: 3,4↙
Input 3*4 array:
1 2 3 4↙
5 6 7 8↙
9 0 -1 -2↙
max=9,row=2,col=0
数组维数输入提示信息: "Input m,n:\n"
数组维数输入格式: "%d,%d"
数组元素输入提示信息: "Input %d*%d array:\n"
数组元素输入格式::"%d"
输出格式: "max=%d,row=%d,col=%d\n"*/

#include
void InputArray(int *p, int m, int n)
{
int i,j

printf("Input %d*%d array:\n",m,n);
for(i=0;i<m;i++)
{
    for(j=0;j<n;j++)
    {
        scanf("%d",&*(p+i)+j);
    }
}
for(i=0;i<m;i++)
{
    for(j=0;j<n;j++)
    {
        printf("%d ",*(p+i)+j);
        if((j+1)%n==0) 
        printf("\n");
    }
}

}

int FindMax(int *p, int m, int n, int *pRow, int *pCol)

{

int i,j,max=p[0];

*pRow=0,*pCol=0;

for(i=0;i<m;i++)

{

    for(j=0;j<n;j++)

    {

        if(*(p+i)+j>max)
        {
            max=*(p+i)+j;
            *pRow=i;
            *pCol=j;
        }
    }
}
return max;         

}

int main()
{

int p[10][10],pRow, pCol;

int m,n;
int max;
printf("Input m,n:\n");
scanf("%d,%d",&m,&n);
InputArray(*p,m,n);
max=FindMax(*p,m,n,&pRow,&pCol);
printf("max=%d,row=%d,col=%d\n",max,pRow,pCol);

}

1个回答

1首先m和n需要输入<=10检测
2所有的寻址有问题,

for(i=0;i<m;i++)
{
    for(j=0;j<n;j++)
    {
        scanf("%d",&*(p+i)+j);   应该是 scanf("%d",p+i*n+j);
    }
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
为什么我的printf不能正确输出数组的长度

``` #include"stdio.h" void length(char a[]) { printf("字符串的长度为%d\n",sizeof(a)-1); } void main() { char a[] = { 'a','b','c','d','e' ,'g','\0'}; char b[] = { 'b','c','d','h' ,'\0'}; length(a); length(b); while (1) { } } ```

为什么数组不在循环中输出就不正确了(初学者)

放入循环以单个字符输出就可以,一旦跳出循环以字符串输出就不正确。![图片](https://img-ask.csdn.net/upload/201710/25/1508903109_163343.jpg)![图片](https://img-ask.csdn.net/upload/201710/25/1508903116_23026.jpg)

console.log输出的数组与真实不一致

``` /*n元买n个兔子问题*/ function exhaustiveSearch(n) { cases=new Array(); rabbit = new Array(); rabbit["male"] = 0;//公兔数量 rabbit["female"] = 0;//母兔数量 rabbit["child"] = 0;//雏兔数量 // 公兔一只5元,则一定少于n/5只 for (rabbit["male"] = 0; rabbit["male"] < n / 5; rabbit["male"]++) { //母兔一只3元,则一定少于n/3只 for (rabbit["female"] = 0; rabbit["female"] < n / 3; rabbit["female"]++) { // 雏兔数量一定是n-母兔-公兔 for (rabbit["child"] = (n - rabbit["male"] - rabbit["female"]); rabbit["child"] < n; rabbit["child"]++) { // console.log("总数相等了"); if (rabbit["child"] % 3 == 0) { // console.log("小兔一元三只"); if (rabbit["male"] * 5 + rabbit["female"] * 3 + rabbit["child"] / 3 == n) { console.log(rabbit);//**输出** cases.push(rabbit); } } } } } // console.log(cases); return cases; } ``` 这是输出 ![图片说明](https://img-ask.csdn.net/upload/201709/10/1505022856_448744.png) 所以,为何上下的输出不一致呢

sizeof算出的数组大小怎么不对呢?

在调用match和chang函数的时候sizeof(str)-1为3这是为什么? ``` #include<iostream> using namespace std; #define ok 1 #define no 0 #define error 0 #define yes 1 #define maxsize 50 struct sqstack//定义一个顺序栈 { char data[maxsize]; int top, bottom; }; struct sqqueue//定义一个顺序队列 { char data[maxsize]; int front, rear; }; int initstack(sqstack &s)//初试化栈 { s.bottom = s.top = -1; return ok; } int initqueue(sqqueue &q)//初始化队列 { q.front = q.rear = 0; return ok; } int stack_isempty(sqstack s)//判栈空 { if (s.bottom == s.top) return yes; else return no; } int queue_isempty(sqqueue q)//判队空 { if (q.front == q.rear) return yes; else return no; } int stack_isfull(sqstack s)//判栈满 { if (s.top-s.bottom>=maxsize) return yes; else return no; } int queue_isfull(sqqueue q)//判队满 { if ((q.rear+1)%maxsize==q.front) return yes; else return no; } int push(sqstack &s, char x)//入栈 { if (stack_isfull(s)) return error; else { s.data[++s.top] = x; return ok; } } int pop(sqstack &s, char &x)//出栈 { if (stack_isempty(s)) return error; else { x = s.data[s.top--]; return ok; } } int gettop(sqstack s, char &x)//取栈顶元素 { if (stack_isempty(s)) return error; else { x = s.data[s.top]; return ok; } } int enqueue(sqqueue &q, char x)//进队 { if (queue_isfull(q)) return error; else { q.data[q.rear] = x; q.rear = (q.rear + 1) % maxsize; return ok; } } int dequeue(sqqueue &q, char &x)//出队 { if (queue_isempty(q)) return error; else { x=q.data[q.front]; q.front = (q.front + 1) % maxsize; return ok; } } int priority(char x)//判断优先级 { int n=0; switch (x) { case '+':n = 3; break; case '-':n = 3; break; case '*':n = 5; break; case '/':n = 5; break; case '(':n = 1; break; case ')':n = 6; break; default: break; } return n; } /*括号匹配思想 从左到右依次扫描每个元素 (1)如果是左括号,直接入栈; (2)如果是右括号,则出栈,若出栈的是左括号;则该右括号匹配成功;否则括号匹配失败; (3)扫描完成后若栈空,匹配成功;否则匹配失败; */ int match(char str[]) { int i; int n = sizeof(str)-1; char x; sqstack s; initstack(s); for (i = 0; i < n; i++) { switch (str[i]) { case '(':push(s, str[i]); break; case ')':pop(s, x); if (x = '(') break; else return error; default:break; } } if (stack_isempty(s)) return ok; else return error; } /*中缀转后缀表达式: 从左到右依次扫描每个元素 (1)如果是左括号,直接入栈; (2)如果是右括号,则将栈中左括号以及之上的元素依次出栈,如果出栈的元素不是左括号,则加入后缀表达式中(这里用队列来存储,也可以直接输出); (3)如果是其他运算符,如果该操作符优先级比栈顶元素高则直接入栈;否则,依次出栈,加入后缀表达式中,直到如果该操作符优先级比栈顶元素高或者栈空为止;将该元素入栈,(设左括号优先级小于任何操作符); (4)如果是操作数直接加入后缀表达式(这里用队列来存储,也可以直接输出)*/ int chang(char str[]) { int i; char x; int n = sizeof(str)-1; sqstack s; initstack(s); sqqueue q; initqueue(q); for (i = 0; i < n; i++)//从左到右依次扫描 { if (str[i] == '(')//如果是左括号直接入栈,然后扫描下一个元素 if (push(s, str[i])) continue; else return error; else if (str[i] == ')')//如果是右括号,则将左括号之上的元素出栈,依次入队,然后将括号出栈 { while (!stack_isempty(s)) { pop(s, x); if (x != '(') enqueue(q, x); else break; } continue; } else if (str[i] == '+' || str[i] == '-' || str[i] == '*' || str[i] == '/')//如果是四则运算的符号 { if (gettop(s, x))//如果栈不为空,取出栈顶元素 if (priority(str[i]) > priority(x))//如果当然元素优先级别大于栈顶元素的优先级别,则入栈 { if (push(s, str[i])) continue; } else { while (!stack_isempty(s) && priority(str[i]) <= priority(s.data[s.top]))//否则将优先级高于或等于当前运算符的栈顶元素依次出栈并入队,直到栈顶元素优先级比自己低或者遇到左括号为止 { pop(s, x); enqueue(q, x); } push(s, str[i]); continue; } else//如果栈空,则直接入栈 { push(s, str[i]); continue; } } else//如果是操作数则直接进队 { enqueue(q, str[i]); continue; } } while (!stack_isempty(s))//扫描完成后将栈中剩余的操作符依次入队 { pop(s, x); enqueue(q, x); } while (!queue_isempty(q))//输出后缀表达式 { dequeue(q, x); cout << x; } return ok; }void main() { char str[] = "a+b-a*((c+d)/e-f)+g"; if (match(str)) chang(str); else cout << "表达式括号不匹配,请重新输入"; } ```

IDEA我输出数组,但是得到的结果都是内存地址,运行代码没有问题,看数组里面也有值

![图片说明](https://img-ask.csdn.net/upload/202003/28/1585368901_309095.jpg)![图片说明](https://img-ask.csdn.net/upload/202003/28/1585368911_338465.jpg)

java 用键盘输入初始化二维数组后,遍历每一行数组时,输出结果有问题

这个问题是在写一个小程序时遇到的: 程序功能: 将两个数组合并后排序并输出: 输入: 5,3 (两个数组各自的长度) 9,6,5,3,1 (第一个数组) 7,4,2 (第二个数组) 输出: 1,2,3,4,5,6,7,9 下面是代码: public class Main2 { public static void main(String[] args){ Scanner sc=new Scanner(System.in); int[][] arrays=new int[3][]; //用于存放输入的三行数据,每行数据都存入一个数组 for(int i=0;i<arrays.length;i++){ String str=sc.nextLine(); String[] strArray=str.split(","); for(int j=0;j<strArray.length;j++){ arrays[i]=new int[strArray.length]; arrays[i][j]=Integer.parseInt(strArray[j]); System.out.print(arrays[i][j]+","); } System.out.println(); } for(int num:arrays[1]){ //检测arrays[1]中的数据,为什么这里不对??? System.out.print(num+","); } System.out.println(); for(int num:arrays[2]){ //检测arrays[2]中的数据,为什么这里不对??? System.out.print(num+","); } System.out.println(); int[] combineArray=Arrays.copyOf(arrays[1],arrays[1].length+arrays[2].length); for(int num:combineArray){ System.out.print(num+","); } System.out.println(); System.arraycopy(arrays[2], 0, combineArray, arrays[1].length, arrays[2].length); for(int num:combineArray){ System.out.print(num+","); } System.out.println(); Arrays.sort(combineArray); for(int num:combineArray){ System.out.print(num+","); } System.out.println(); } } 为什么 for(int num:arrays[1]){ //检测arrays[1]中的数据,为什么这里不对??? System.out.print(num+","); } System.out.println(); for(int num:arrays[2]){ //检测arrays[2]中的数据,为什么这里不对??? System.out.print(num+","); } System.out.println();

gdb调试二维数组输出不对的问题

![图片说明](https://img-ask.csdn.net/upload/202005/01/1588334681_852841.png) dp是一个二维数组,怎么打印的结果不一样。我的数组没有这么多零,通过指针他怎么出来这么多零。我感觉这两种方式结果应该是一样的呀,(直接p/d dp结果是正确的) 数组存的数为![图片说明](https://img-ask.csdn.net/upload/202005/01/1588334905_788521.png)

C++二维数组求和,输出不对,请大神帮忙看看

#include<iostream> using namespace std; int main() {int sum(int a[5][5],int b[5][5]); int i,j,g[5][5],h[5][5],d[5][5]; for(i=0;i<5;i++) {for(j=0;j<5;j++) { cin>>g[i][j]; } } cout<<endl; for(i=0;i<5;i++) { for(j=0;j<5;j++) { cin>>h[i][j]; } } cout<<"矩阵和"<<endl; d[i][j]=sum(g,h); for(i=0;i<5;i++) {for(j=0;j<5;j++) {cout<<d[i][j]<<" "; } cout<<endl; } return 0; } int sum(int a[5][5],int b[5][5]) { int c[5][5],i,j; for(i=0;i<5;i++) {for(j=0;j<5;j++) { c[i][j]=a[i][j]+b[i][j]; } } }![图片](https://img-ask.csdn.net/upload/201611/19/1479567225_810710.png)

在java中定义了一个二维数组,这样做好像不对,输出时报错, 代码如下

我是想要定义一个二维数组,然后动态地给它赋值,应该怎么做不知道问题出在做么地方,请大神指导一下 ,代码如下: int[][] a = null; a[1] = new int[]{1,2,3}; System.out.println(a[1][1]);

mapreduce中转化数组格式出错误

public int[] StringToInt(String[] arrs){ int[] ints = new int[arrs.length]; for(int i=0;i<arrs.length;i++){ ints[i] = Integer.parseInt(arrs[i]); } return ints; } public void map(Object key, Text value, Context context) throws IOException, InterruptedException { //StringTokenizer itr = new StringTokenizer(value.toString()); String[] s=value.toString().split(""); int[]a=new int[s.length]; try{ a=StringToInt(s); } catch (Exception e) { System.err.println("错误"); }//转化为int类型的数组 为什么转化一下数组的格式汇出错误啊?

新人求解为什么输出不对?

求二维数组中的最大数输入m,n控制行列 ``` #include<stdio.h> int main() { int max,i,j,h,l,m,n,a[15][15]; scanf("%d %d",&m,&n); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&a[i][j]); } } max=a[0][0]; for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(a[i][j]>max) max=a[i][j]; h=i; l=j; } } printf("%d %d %d",max,h,l); return 0; } ```

C语言最简单你的冒泡排序,数组输入输出就错了。。。。

#include<stdio.h> #include<memory.h> #define arraysize 5 //5个数字 int main() { int i,a,num; num=arraysize; int array[arraysize]; memset(array,'\0',sizeof(int)*arraysize); void BobbleSort(int array[],int n); while(num--) { scanf("%d",&a); array[i]=a; } for(i=0;i<arraysize;i++) //这个!!!for循环输出的数组为什么不是输入的数组值??? { printf("%d ",array[i]); } BobbleSort(array,arraysize); return 0; } void BobbleSort(int array[],int n) { int i,j,temp; /* for(i=0;i<arraysize;i++) //求数组长度 { printf("!!!%d\n",*(array++)); if(array[i]!='\0') { n++; } else break; } printf("--%d\n",n); */ for(i=n-1;i>0;i--) //冒泡排序 { for(j=0;j<i;j++) { if(array[j+1]>array[j]) { temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } } } for(i=0;i<n;i++) { printf("%d ",array[i]); } } ``` ```

用print确认过每个数组的维度,为什么还是会有这样的错?

def initialize(layer_dims): para={} L=len(layer_dims) for l in range(1,L): para['W'+str(l)]=np.random.randn(layer_dims[l],layer_dims[l-1])*0.01 para['b'+str(l)]=np.zeros((layer_dims[l],1)) return para def forward(X,layer_dims,para): cache={} L=len(layer_dims)-1 A_pre = X for l in range(1,L): Wl=para['W'+str(1)] bl=para['b'+str(l)] Zl = np.dot(Wl,A_pre)+bl assert(Zl.shape == (Wl.shape[0],A_pre.shape[1])) layer_dims = [12288, 20, 7, 5, 1] ``` X的维度是(12288,209) W1的维度应该是(20,12288)但是在用Wl.shape[0]输出时结果却是20 20 为什么shape[0]会有2个输出结果,Wl.shape[1]也有2个输出结果 :12288 12288 然后在计算上面的代码段时就出现了 ![图片说明](https://img-ask.csdn.net/upload/202001/31/1580464520_6444.png)

数组内的值与显示的不一样

我遍历数组,让数组内两两相加后log出来的数组显示对的,但是每个index对应的值不一样,这是为什么 原数组(73)  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 60, 85, 125, 0, 0, 40, 110, 0, 70, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110] 遍历后数组(38) [0, 0, 0, 0, 0, 0, 0, 40, 145, 125, 40, 110, 180, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, __ob__: Observer] ``` 0: 0 1: 0 2: 0 3: 0 4: 0 5: 0 6: 0 7: 0 8: 40 9: 0 10: 60 11: 0 12: 85 13: 0 14: 0 15: 0 16: 0 17: 0 18: 125 19: 0 20: 0 21: 0 22: 0 23: 0 24: 40 25: 0 26: 0 27: 0 28: 0 29: 0 30: 0 31: 0 32: 0 33: 0 34: 0 35: 0 36: 110 37: 0 ``` ``` 代码 //定义x轴数组 const xAxisTen = [].concat(this.xAixsTimeData) const xAixsTenMinute = xAxisTen.filter((value,index)=>{ if(index%2===0){ return true } }) this.xAixsTotalData = xAixsTenMinute console.log('10 xz',this.xAixsTotalData) //总乘客 const tenMinuteTotal = [].concat(this.resTotalPassenger) console.log('123',tenMinuteTotal) let resTotal = [] let resTotalHead = tenMinuteTotal[0] tenMinuteTotal.filter((item,index,arr)=>{ if(index%2 ===0){ let sumTotal = (arr[index+1]||0)+(arr[index+2]||0); resTotal.push(sumTotal) } }) resTotal.unshift(resTotalHead) this.resTotalPassenger =[] this.resTotalPassenger = [].concat(resTotal) console.log('10 total',this.resTotalPassenger) //出站乘客 const tenMinuteOut = [].concat(this.resOutPassenger) let resOut = [] let resOutHead = tenMinuteOut[0] tenMinuteOut.filter((item,index,arr)=>{ if(index%2 ===0){ let sumOut = (arr[index+1]|| 0)+(arr[index+2]||0); resOut.push(sumOut) } }) resOut.unshift(resOutHead) this.resOutPassenger =[] this.resOutPassenger = [].concat(resOut) console.log('10 out',this.resOutPassenger) //定义 进入的乘客相加 const tenMinuteIn = [].concat(this.resInPassenger) let resIn = [] let resInHead = tenMinuteIn[0] tenMinuteIn.filter((item,index,arr)=>{ if(index%2 ===0){ let sum = (arr[index+1]|| 0)+(arr[index+2]||0); resIn.push(sum) } }) resIn.unshift(resInHead) //console.log(this.resInPassenger) this.resInPassenger =[] this.resInPassenger = [].concat(resIn) console.log('10 in',this.resInPassenger) this.drawPassengerChart() ```

C语言,结构体数组的引用问题

struct { char name[20]; int count; }man[]={ {"aaa",0}, {"bbb",0}, {"ccc",0} },human[10]; int main() { int i,j; for (i=0;i<=2;i++) { printf("第%d位投票,请输入候选人的名字:",i+1); scanf("%s",&human[i].name); for(j=0;j<=2;j++) { if("aaa"==human[i].name) { man[0].count+=1; } } } for(i=0;i<=2;i++) { printf("%s票数为:%d\n",man[i].name,man[i].count); } } ``` ``` 为什么man[0].count的值没有自增?

getElementsByTagName得到的数组,长度和内容不符

getElementsByTagName得到的数组,长度和内容不符 ``` <div id="a"> <p id="s1">woaijava</p> </div> <button onclick="judge()">你好</button> <script> function judge(){ var a = document.getElementsByTagName("p"); for(var idex in a){ console.log(a[idex].textContent); } } </script> ``` 按照理想应该输出一个woaijava,但是输出结果却不是一个,控制台输出数组长度是1,但是输出元素却不是却是两个woaijava和三个undefined

C语言调用abc(b,8);后数组元素为何没有改变

#include "stdio.h" void abc(int a[],int n) { int i,t; for(i=0;i<n;i++) { t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t; } } main() { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; abc(b,8); // for(i=0;i<10;i++) // printf("%d",b[i]); for(i=6;i<10;i++) _ s+=b[i]; printf("%d\n",s);_ } /* 1.程序运行结果: 32 */==提问:调用abc(b,8);后数组元素为何没有改变成b[10]={8,7,6,5,4,3,2,1,9,10};呢?结果应该为22吧?

直接toString获取的为什么是地址值而且使用Arrays.toString()获取的长度不对

知者为师! 在此请教各位老师一个问题,(这个问题已经百度过,但没有找到对应的答案)如下: 今天解决力扣算法题的时候自己发现的一个从来没有仔细研究的问题 先上关键代码 char[] c = str.toCharArray();//该字符数组中有7个字符 str = c.toString(); str1 = Arrays.toString(c); System.out.println( str.length()); //返回str的长度是11 System.out.println("str= " + str); //直接打印str输出的是地址值[C@15db9742 System.out.println( str1.length()); //返回str1的长度是18 System.out.println("str1= " + str1); //直接打印str1输出的是str1= [9, 0, 1, 0, 0, 0] 问题如下: 1.为什么直接使用str = c.toString();后打印str的值获取的是一个地址值? 2.为什么使用str1 = Arrays.toString(c);后打印str1的长度是18?这18位的长度是7个字符加11位地址值吗? 3.直接使用c.toString();和 Arrays.toString(c);有什么区别?

关于数组查找,生成新数组的问题

``` Pipe * findPipe(int keyNode, Pipe p[], int sz) { // int flag[100] = {0}; 每一次到调用新一次findPipe的时候,都会重新flag[100] = {0},导致无法到达flag[2] == 2 int flag[100]; int count = 0; for (int i = 0; i < sz; i++) { cout << "new flag" << i << " " << flag[i] << endl;//debug use if (flag[i] == 2) { i++; } if ( p[i].node1 == keyNode ) { cout << i << endl; count++; flag[i]++; cout << "flag" << i << " " << flag[i] << endl;//debug use return findPipe(p[i].node2, p, sz); } else if ( p[i].node2 == keyNode ) { cout << i << endl; count++; flag[i]++;//mark cout << "flag" << i << " " << flag[i] << endl;//debug use return findPipe(p[i].node1, p, sz); } } if (count == 0) { return 0; } else { return p; } } ``` 输出结果是 flag0 0 flag1 0 1 flag1 1 flag0 1 0 flag0 2 flag0 1 0 flag0 2 flag0 1 0 flag0 2 flag0 1 ......... 我期望的效果是: 输入Pipe数组p, sz是数组的大小, keyNode是需要查找的值。增加一个flag[100]作为标记。当符合p[i].node1或者p[i].node2是要查找的keyNode值后,在flag[i]增加1作为标记。如果flag[i] = 2则要i++ 问题是:每次return findPipe()后进入新的循环时,new flag 0 1 我认为的是flag[i]应该保留上一轮的值,可能加过是1,可能没加过是0. 但是现在完全不对。 下方是全部代码 ``` #include <iostream> #include <string> #include <cstdlib> using namespace std; struct Pipe { string GDid; int node1; int node2; }; Pipe * findPipe(int, Pipe [], int); void display(Pipe *, int); Pipe * findPipe(int keyNode, Pipe p[], int sz) { int flag[100]; int count = 0; for (int i = 0; i < sz; i++) { cout << "new flag" << i << " " << flag[i] << endl; if (flag[i] == 2) { i++; } if ( p[i].node1 == keyNode ) { cout << i << endl; count++; flag[i]++; cout << "flag" << i << " " << flag[i] << endl; return findPipe(p[i].node2, p, sz); } else if ( p[i].node2 == keyNode ) { cout << i << endl; count++; flag[i]++; cout << "flag" << i << " " << flag[i] << endl; return findPipe(p[i].node1, p, sz); } } if (count == 0) { return 0; } else { return p; } } void display(Pipe *arr, int n) { for (int i = 0; i < n; i++) { cout << arr[i].node1 << " "; cout << arr[i].node2 << " "; } } int main() { Pipe GD10001 = {"GD10001", 29, 50}; Pipe GD20310 = {"GD20310", 29, 98}; Pipe GD70091 = {"GD70091", 98, 50}; Pipe GD30021 = {"GD30021", 50, 33}; Pipe GD45122 = {"GD45122", 98, 64}; Pipe GD27945 = {"GD27945", 33, 27}; Pipe GD94512 = {"GD94512", 27, 15}; Pipe GD87194 = {"GD87194", 33, 24}; Pipe GD70980 = {"GD70980", 15, 24}; Pipe GD65123 = {"GD65123", 64, 17}; Pipe GD28720 = {"GD28720", 17, 24}; Pipe GD23424 = {"GD23424", 24, 28}; Pipe GD86246 = {"GD86246", 17, 39}; Pipe GD67767 = {"GD67767", 39, 76}; Pipe GD88888 = {"GD88888", 76}; Pipe GD32223 = {"GD32223", 28}; Pipe GD123 = {"GD123", 12, 121}; Pipe GD456 = {"GD456", 121, 181}; Pipe GD789 = {"GD789", 181, 196}; Pipe Myarray[19] = {GD10001, GD20310, GD70091, GD30021, GD45122, GD27945, GD94512, GD87194, GD70980, GD65123, GD28720, GD23424, GD86246, GD67767, GD88888, GD32223, GD123, GD456, GD789}; int size = 19; int target = 98; Pipe *result = findPipe(target, Myarray, size); display(result, size); return 0; } ```

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

C++11:一些微小的变化(新的数据类型、template表达式内的空格、nullptr、std::nullptr_t)

本文介绍一些C++的两个新特性,它们虽然微小,但对你的编程十分重要 一、Template表达式内的空格 C++11标准之前建议在“在两个template表达式的闭符之间放一个空格”的要求已经过时了 例如: vector&lt;list&lt;int&gt; &gt;; //C++11之前 vector&lt;list&lt;int&gt;&gt;; //C++11 二、nullptr ...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

【阿里P6面经】二本,curd两年,疯狂复习,拿下阿里offer

二本的读者,在老东家不断学习,最后逆袭

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!...

作者 | 伍杏玲出品 | CSDN(ID:CSDNnews)格子衬衫、常掉发、双肩包、修电脑、加班多……这些似乎成了大众给程序员的固定标签。近几年流行的“跨界风”开始刷新人们对程序员的...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

立即提问
相关内容推荐