Ошибки в распределении значений по указателю - PullRequest
0 голосов
/ 22 октября 2019

Это мой код, я пытался реализовать какой-то алгоритм. Помогите мне, почему значение Edges [i] -> u равно 0.

#include <bits/stdc++.h>
using namespace std;

#define endl "\n"
typedef long long int ll;

typedef struct edge
{
       ll u,v,w;
}Edge;

int main()
{
 cout<<"Enter V: ";
 ll V;
 cin>>V;
 cout<<"Enter E: ";
 ll E;
 cin>>E;
 vector<Edge*>Edges(E);
 cout<<"For E edges enter \nu v w \n";
 ll uu,vv,ww;

 for(int i=0;i<E;i++)
 {
    Edges[i]=(Edge*)malloc(sizeof(Edge));
    cin>>uu>>vv>>ww;
    Edges[i]->v=vv;
    Edges[i]->u==uu;
    Edges[i]->w=ww;
 }
 cout<<Edges.size()<<endl;
  for(int i=0;i<E;i++)
  {
    cout<<Edges[i]->u<<" "<<Edges[i]->v<<" "<<Edges[i]->w<<endl;
  }
 }

Я просто не могу понять, в чем заключается ошибка, и почему значение равно 0. Для Edges [i]. V и Edges [я]. W он показывает правильно. Пожалуйста, помогите мне с этим.

Выход:

     Enter V: 3

     Enter E: 3


   For E edges enter 
   u v w 
   1 2 3
   2 3 4
   3 1 5
   3
   0 2 3
   0 3 4
   0 1 5
...