Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Illegal structure operation

2.2K
30 ноября 2006 года
MagicPRO
100 / / 02.10.2006
При компиляции выводит какието 4 ошибка "Illegal structure operation"
Код:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>


int dist[50],up[50],l[50][50],flag[50];
int v; // chislo vershin
int s; // startovaya vershina
int i,j,k,r0,delta;

int check() { // proverka ocheredi na pustotu
 int num,i;
 num = 0;
 for(i=1;i<=v;i++) {
  if (flag==1) { num=i; break; }
 }
 return num;
}

void main() {

 clrscr();

 v=5;
 s=3;

 for(i=1;i<=v;i++) {
  for(j=1;j<=v;j++) {
   l[j] = 100;
  }
 }

 for(i=1;i<=v;i++) {
  l=0;
  flag=1;
 }

 l[1][2] = l[2][1] = 1;
 l[2][3] = l[3][2] = 6;
 l[2][4] = l[4][2] = 3;
 l[3][4] = l[4][3] = 2;
 l[3][5] = l[5][3] = 9;
 l[4][5] = l[5][4] = 7;

 for(i=1;i<=v;i++) {
  for(j=1;j<=v;j++) {
   if (l[j]!=100) { cout>>l[j]; }
   else { cout>> "  - "; }
  }
  cout>>"\n ";
 }

 for(i=1;i<=v;i++) {
  up=0;
  dist=100;
 }

 dist=0;

 while (check()>0) {
  r0=check();
  for(i=1;i<=v;i++) {
   if ((dist)&&(l[r0]!=100)) {
    delta = dist - (dist[r0] + l[r0]);
    if (delta>0) { dist = dist - delta; up = r0; }
   }
  }
 }

 cout>>"\nlength from %d =">> s;
 for(i=1;i<=v;i++) {
  cout>>dist;
 }

 cout>>"\n up = ";
 for(i=1;i<=v;i++) {
  cout>>up;
 }

 getch();
}

Шото не пойму какая ошибка в cout
257
30 ноября 2006 года
kosfiz
1.6K / / 18.09.2005
вообще-то надо:
 
Код:
cout<<;
2.2K
30 ноября 2006 года
MagicPRO
100 / / 02.10.2006
ого..вот это я прогнал))) мда совсем потерялся)) спасибо што ответил
2.2K
30 ноября 2006 года
MagicPRO
100 / / 02.10.2006
Вот здесь тоже ошиба, го не такая как предыдущая
Код:
#include <conio.h>
#include <stdio.h>
#include <values.h>
#include <stdlib.h>
#include <math.h>
#include <iostream.h>
 main()
{
 clrscr();
 int q,t;
 int z,i,j;
 int k,min,xx;
  int const n=6;
float a[n][n] = {
         {1000,   2,   4,1000,1000,   3},
         {   2,1000,1000,   7,1000,1000},
         {   4,1000,1000,   6,1000,1000},
         {1000,   7,   6,1000,   1,1000},
         {1000,1000,1000,   1,1000,1000},
         {   3,1000,1000,1000,   1,1000}};

  cout<<"First: \n";
  cin>>q;
  cout<<"End: \n";
  cin>>t;
  cout<<"\n";
  //-----------------------------------------------------------------------
  int *P_M=new int[n];
  int *V_M=new int[n];
  P_M[q-1]=0;

   for (i=1;i<n;i++)
    {
     if(i!=q) V_M=1000;
    }
   z = q;
   while(z!=t)
       {   k=0;
       for (i=1;i<n;i++)
        {
                   { if (V_M > V_M[z]+a[z])
              { V_M = V_M[z]+a[z];
                                      k++;
                      }
          }
       }
       
        }
 while (k!=0);
       min = 1000;
       xx=0;
    for (i=1;i<n;i++)
  {
    if((V_M=1000)&&(min >= V_M) && (P_M!=V_M))
      { min=V_M;
    xx=i;}
  }
  z=xx;
  V_M[xx]=1;//min;
 // z=xx;
  P_M[xx]=V_M[xx];

}
      z=t;
   cout<<" Кратчайший путь: \n"<< t << " "<<endl;
  while(t!=q)
  {
    for(i=0;i<n;i++)
     { if(P_M[j]=P_M+a[j])// (P_M[z]-P_M==a[z])
      { z=i;
        //cout << j <<" ";
        cout<<i;
      }

     }

delete [] a;
delete [] V_M;
delete []P_M;

getch();
}
547
01 декабря 2006 года
Hydra
488 / / 20.06.2006
Перед z=t лишняя скобка }
Перед блоком из 3х delete отсутствует }
цикл
 
Код:
while (k!=0);

Либо повесит программу, либо не выполнится ни разу
Здесь
 
Код:
if((V_M=1000)&&(min >= V_M) && (P_M!=V_M))

и здесь
 
Код:
{ if(P_M[j]=P_M+a[j])// (P_M[z]-P_M==a[z])

присваивание вместо сравнения
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог