Почему выводить такую ошибку ch= B[j]; левый операнд должен быть левосторонним значением задание такое все Описать функцию,которая преобразовывает исходный файл с выравниванием текста по левому краю в файл с выравниванием текста по правому краю.Длину строки считать равной 80символов Code: #include <fstream> #include <iostream> #include <conio.h> using namespace std; void main() { fstream test("test1.txt",ios::out|ios::ate); if (!test.is_open()) { cerr<<"Fail not open"; } const int n=5; typedef char String[n]; String ch; int A[n]; String B[80][n]; cout<<"Input string"<<endl; for (int i=0;i<n;i++) { for (int j=0;j<n;j++) { cin>>ch; ch= B[i][j]; A[i]=strlen(ch); test << ch <<strlen(ch)<<endl; } } test.close(); getch(); }
ну правильно. это тебе не делфи. char String[n]; т.е. String это массив из 5 char и теперь вопрос кто тебе разрешает присваивать один массив другому? делай копирование через strcpy
а использовать STL религия не позволяет, коль пишешь на С++? вы жуткий лентяй. http://www.cplusplus.com/reference/clibrary/cstring/strcpy/