Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2014, 21:42   #1
lisica198808
Пользователь
 
Регистрация: 06.11.2012
Сообщений: 64
По умолчанию Expected unqualified-id before '(' token . ошибка

Не могу понять, как убрать ошибку.
In member function `matrica matrica:: operator=(massiv&)':
Expected unqualified-id before '(' token

Помогите пожалуйста.
Код:
#include<iostream> 
using namespace std;
 
class massiv
        { float *a; int stroka; int n;
         public: float sum1;
         massiv();
         void vvod();/*vvod elementov*/
         void vivod();
         void sum_el();
         void vivod_stroka();
         
         ~massiv(){delete[]a; puts("rabotal destryktor\n");}    /*{puts("rabotal destryktor massiva\n")*/;
         };
 //==============================================//        
  massiv::massiv()
    {printf("\nvvedite razmer massiva n: ");
     scanf("%d",&n);
     puts("\nrabotal konstruktor massiva\n");    
    }  
    
//==============================================//    
  void massiv::vvod()/*vvod elementov*/
    {a = new float[n];
     for( int i = 0; i < n; i++  )
      { *( a + i ) = rand() % 101 - 50;printf("%3.2f ", *(a+i));
      }/*ot -50 do 50  ili  rand() % 201 - 100 ot -100 do 100 */
    } 
  
//==============================================//        
  void massiv::sum_el()
    {sum1 = 0;/*snachala summa v stroke=0*/
     for( int i  = 0; i < n; i++ )/*idem po strokam*/
      {sum1 += *( a + i );}/*summiruyem yeye elementy*/
    }
//==============================================//       
  void massiv::vivod_stroka()
    {printf("\nsumma elementov massiva= %3.2f",sum1); printf("\n");}
 
//========================================//==============================================//======//  
 
 
class matrica
        { float *x; int n,m; 
          public:
          float sum2; int stroka; float *b;int kol_str;
          matrica(); 
          void vvod();
          void vivod(); 
          void sum_el();
          void vivod_stroka();
          
          matrica operator-(massiv &mas);
          matrica operator=(massiv &mas);
           void reshenie();
          ~matrica(){delete[]x; puts("rabotal destryktor matrici\n");}                
        };
//==============================================//     
  matrica::matrica()
    {printf("\nvvedite razmernost n*m: ");
     scanf("%d %d",&n,&m);
     puts("\nrabotal konstruktor matrici\n");    
    } 
//==============================================//    
  void matrica:: vvod()    
    {
    x = new float [n * m]; 
     for( int i = 0; i < n; i++ )
     for( int j = 0; j < m; j++ )
      *( x + i * m  + j ) = rand() % 101 - 50;
    }
//==============================================//
  void matrica::vivod()/*vivodit matrici na ekran*/
    {printf("\nmatrica:\n"); 
     for(int i = 0; i < n; i++)
     {for(int j = 0; j < m;j++)
       cout<<*(x + i * m + j)<< " ";cout << "\n";}
    }
//==============================================//    
  void matrica::sum_el()
    { kol_str = 0;
      for(int i = 0; i < n; i++)/*idem po strokam*/
      {sum2 = 0;/*snachala summa v stroke=0*/
      for(int j = 0; j < m; j++)/*idem po stroke*/
       sum2 += *( x + i * m + j );/*summiruyem ee elementy*/
      stroka = i + 1; 
      kol_str++;
      printf("\nsumma= %3.2f v stroke %d ",sum2, stroka); }printf("\n");
      printf("koli4estvo strok novoj matrici = %d",kol_str);printf("\n");
    } 
 /*----------------------------------------------------------------*/
matrica matrica::operator-(massiv &p)
{
    matrica rez;
 
    printf("Rabotaet minus\n");
    rez.x = new float [kol_str * m];/*Videlim pamjat' dlja rezyltiryjywej  matrici*/
    if (sum2 < p.sum1)        /*esli summi strok po matrice men'we summi massiva*/
    {for (int i = 0; i < kol_str; i++)  /*zapiwem stroki v rezyltiryjywyjy  matricy*/
     for (int j = 0; j < m; j++)
     rez.x = (x + i * m + j);
     }
     return rez;
}
 /*----------------------------------------------------------------*/
 
matrica matrica::operator=(massiv &p)
{
matrica rez; puts("\n rez dla = ");
for (int i = 0; i < kol_str; i++)  /*zapiwem stroki v rezyltiryjywyjy  matricy*/
for (int j = 0; j < m; j++)
*(x + i * m + j) = p.(x +  i * m + j);
return * this;
}
 
 /*----------------------------------------------------------------*/
 
 
void matrica::reshenie()/*vivod rezyltiryjywej  matrici na ekran*/
{for (int i = 0; i < n; i++)
  {cout<<"\n" ;
   for (int j = 0; j < m; j++) 
    cout<< *(x + i * m + j) <<"  "; 
  }
} 
 /*----------------------------------------------------------------*/
 
int main()
{
massiv V;
V.vvod();
V.sum_el();
V.vivod_stroka();
system("pause");  
  
matrica A;
A.vvod();
A.vivod();
A.sum_el();
 
/*matrica rez = A - V;
rez.reshenie(); */
matrica M;
M = A - V;
M.reshenie();
printf("\n");
system("pause"); 
}
lisica198808 вне форума Ответить с цитированием
Старый 20.05.2014, 14:07   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Код:
p.(x +  i * m + j);
???
Somebody вне форума Ответить с цитированием
Старый 20.05.2014, 19:44   #3
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

В правой части напиши *(p.x + i * m + j)
Son Of Pain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка E2293 ) expected. Язык C Sting95 Помощь студентам 5 12.04.2014 23:04
ошибка: expected «;», «,» or «)» before numeric constan Кащей Общие вопросы C/C++ 3 20.07.2013 12:39
Ошибка. Statement expected but 'PROCEDURE' found Merroto Общие вопросы Delphi 5 03.03.2013 23:06
ошибка Expected ':' but '=' found. в Delphi 7 vizavill Помощь студентам 2 27.10.2011 20:14
Ошибка "expected class-name before '(' token" Myuji Общие вопросы C/C++ 2 15.12.2009 18:00