Initializer and declaration error

Mar 17, 2021 at 7:57am
So the error comes up at "void read()" it says "expected initializer before ‘void’" im quite new to cpp and need help on this one. thanks beforehand
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  #include <iostream>

using namespace std;

#define ARR_LEN 5

int arr[ARR_LEN]

void read(){
     cout<<"enter "<<ARR_LEN<<" numbers"<<endl;
      for(int j=0; j<ARR_LEN; j++){
        cin>>arr[j];
    }
}
void write(){
     cout<<"array is:"<<endl;
     for(int i=0; i<ARR_LEN; i++){
         cout<<arr[i]<<" ";
     }
    cout<<endl;
}
int main(){
    read();
    int iMax = 0;
    for(int i=0; i<ARR_LEN; i++){
        if(arr[i]>arr[iMax]){
            max=arr[i];
            iMax=i;
        }
    }
    cout<<"max index: "<<iMax<<endl;

    write();
    int temp = arr[iMax];
    arr[iMax]= arr[0];
    arr[0] = temp;

    write();
    return 0;
}
Mar 17, 2021 at 8:06am
Add a semicolon at the end of line 7.

Remove line 27.
Mar 17, 2021 at 8:07am
int arr[ARR_LEN];
Mar 17, 2021 at 8:27am
Your code looks very c-ish.
Consider using modern C++.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <array>
#include <algorithm>
#include <utility>
using namespace std;

using Array = std::array<int, 5>;

void read(Array& arr)
{
    cout<<"enter "<< arr.size() <<" numbers"<<endl;
    for(auto& num : arr)
    {
        cin>> num;
    }
}
void write(Array& arr)
{
    cout<<"array is:"<<endl;
    for(auto num: arr )
    {
        cout<< num <<" ";
    }
    cout<<endl;
}
int main()
{
    Array arr;

    read(arr);

    auto max_val = std::max_element(arr.begin(), arr.end());
    int max_idx = std::distance(arr.begin(), max_val) ;
    cout << "max index: "<< max_idx << '\n';
    cout << "max_val: " << *max_val << '\n';

    write(arr);
    std::swap(arr[0], arr[max_idx]);

    write(arr);
    return 0;
}

Output:

enter 5 numbers
1 2 3 4 5
max index: 4
max_val: 5
array is:
1 2 3 4 5
array is:
5 2 3 4 1
Mar 17, 2021 at 8:32am
Thank you. you people are amazing! i appreciate it.
Topic archived. No new replies allowed.