#include <iostream>
#include <string.h>
using namespace std;
int main() {
int num , n , n1 , k , x = 0;
cout << "Enter the no. of vertices: " ;
cin >> n;
char StorageArr[n];
char arr[k];
for(k = 0; k< n ; k++){
cout<< "arr[" << k << "] : ";
cin >> arr[k] ;
StorageArr[n] = arr[k];
}
int len = sizeof(StorageArr)/ sizeof(StorageArr[0]);
cout << "The length of the array is : " << len << endl;
for(int i= 0 ; i< len ; i++){
for(int j = 0; j< len ; j++ ){
cout<<"\n\t" <<"Element at " << StorageArr[i] << StorageArr[j] << ": " ;
cin >> num;
if(i==j && num == 0){
x++;
}
}
}
if(x == len){
cout<<"This is a complete graph...";
}else{
cout<< "This is not a complete graph..." ;
}
return 0;
}
好的,所以StorageArr [n] = arr [k]如何工作。我的意思是,如果我们分配n = 5,那么所有arr [k]的值都将被分配到同一位置StorageArr [5]或将arr [k]的值存储在StorageArr中,就像第0个位置然后在第一个位置上,依此类推,直到第四个位置。
答案 0 :(得分:0)
如果n == 5
,那么
StorageArr[n] = arr[k];
将始终将arr[k]
分配给StorageArr[5]
。这就是代码所说的,这就是它将要执行的工作(在运行的程序中)。我不确定您是从哪里想到将其分配给StorageArr [0],然后分配给StorageArr [1],依此类推。
您的代码中有很多错误,仅举一个,请看上面的代码,k
的值是什么?您绝对不会给它一个价值。但是您到处都使用它的价值。这意味着您的整个程序都具有不确定的行为,并且试图弄清楚它将做什么是毫无意义的。
修正错误,您的程序将以更可预测的方式运行。