Can anybody help me whis this error? in red colour...
error C2109: subscript requires array or pointer type
error C2109: subscript requires array or pointer type
: error C2109: subscript requires array or pointer type
error C2664: 'void __cdecl std::swap(int &,int &)' : cannot convert parameter 1 from 'int' to 'int &'
A reference that is not to 'const' cannot be bound to
#include <iostream> // std::cout
#include <fstream>
#include <iomanip>
#include <string> // std::string
#include <vector> // std::vector<>
#include <algorithm> //std::for each()
using namespace std; // import "std" namespace into global namespace
struct exam
{
int examid;
vector <int> total;
};
void SwapMembers (int items[], int index1, int index2)
{
int temp;
temp=items[index1];
items[index1]=items[index2];
items[index2]=temp;
}
int main()
{
ifstream stream1("STA83SOLUTION.txt");
if ( !stream1.is_open())
{
cout << "While opening a file an error is encountered" << endl;
}
else
{
cout << "Fail Di buka....." << endl;
}
vector <exam> exams;
exam aExam;
int tempExamID;
int tempTotal;
stream1 >> tempExamID >> tempTotal;
aExam.examid = tempExamID;
aExam.total.push_back(tempTotal); // add this exam code to current student's vector of exam codes
while (stream1 >> tempExamID >> tempTotal)
{
if(tempExamID != aExam.examid)
{
exams.push_back(aExam); // no more exam codes for this student. Add aStudent to students vector
aExam.total.clear();
aExam.examid = tempExamID;
}
aExam.total.push_back(tempTotal); // add this exam code to current student's vector of exam codes
}
exams.push_back(aExam); // no more exam codes for this student. Add aStudent to students vector
stream1.close(); // We have read the entire file, so time to close it.
{
ofstream myfile;
myfile.open("411.txt");
int temp;
if (myfile.is_open())
{
for (size_t i = 0; i < exams.size(); i++)
{
for (size_t j = 0; j<exams.at(i).total.size(); j++)
cout<<"\n"<<i+1<<":"<<" "<< exams.at (i).total.at(j)<<"\t"; // output list of exam codes for this student
}
}
cin.get();
return 0;
for (size_t i = 0; i < exams.size(); i++)
for (size_t j = 0; j<exams.at(i).total.size(); j++)
{
int min = i;
for (size_t j = 0; j<exams.at(i).total.size(); j++)
[B]if(exams.at (i).total.at(j)[min]<exams.at (i).total.at(j)[j])[/B]
min = j;
swap(exams.at (i).total.at(j)[min],exams.at (i).total.at(j));
}
for (size_t j = 0; j<exams.at(i).total.size(); j++)
cout << exams.at (i).total.at(j)<<" "<< endl;
}
}