Getting inputs into two different arrays

Hey Everyone,
I'm linking my existing code below but im having a hard time figuring out how to put the inputs into my existing arrays. There are 12 inputs the first of which are already in the arrays. I attempted to mark where i was trying to collect the inputs and with those lines removed it runs perfectly. Thank you for your time,
Nate


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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>

#include <utility>

using namespace std;

int main() {

int arrayA[2][3] = { 1 ,5 ,6,
                    2 ,7 ,8 };

int arrayB[2][3] =  { 6 ,7 ,8,
                    1 ,2 ,3 };


int m;
for(m=0; m < 7; m++){   /* This is the area of my trouble/
   cin >> arrayA[m];
}


int min = arrayA[0][0];


for(int i = 0; i < 2; i++) {

for(int j = 0; j < 3; j++) {

if(arrayA[i][j] < min)

min = arrayA[i][j];

}

}

cout<<"The minimum value of arrayA: "<<min;



int max = arrayB[0][0];

for(int i = 0; i < 2; i++) {

for(int j = 0; j < 3; j++) {

if(arrayB[i][j] > max)

max = arrayB[i][j];

}

}

cout << "\nThe maximum value of arrayB: " << max << endl;

float sum = 0;

for(int i = 0; i < 2; i++) {

for(int j = 0; j < 3; j++)

sum += arrayA[i][j];

}

cout<<"The sum of arrayA: " << sum << endl;

float avg = 0, count = 0;

sum = 0;

for(int i = 0; i < 2; i++) {

for(int j = 0; j < 3; j++) {

sum += arrayB[i][j];

count++;

}

}

cout << "The average of arrayB: " << sum/count << endl;

swap(arrayA, arrayB);

cout << "Swapped arrayA: ";

for(int i = 0; i < 2; i++) {

for(int j = 0; j < 3; j++) {

cout <<arrayA[i][j] << " ";

}

}

cout << "\nSwapped arrayB: ";

for(int i = 0; i < 2; i++) {

for(int j = 0; j < 3; j++) {

cout << arrayB[i][j] << " ";

}

}
cout << endl;


} */
Last edited on
strict c++ compiler won't allow you to access a 2-d array in 1-d this way.
try this:
1
2
3
4
5
6
7
int *t = &arrayA[0][0]; //this won't work on ** or vector<vector> 2-d.  
//It only works if the memory is one block, which a 2-d C array is, 
//but other 2-d may be split in memory and crash. 
for(m=0; m < 7; m++)
{ /* This is the area of my trouble */
cin >> t[m]; 

alternately, use 2 loops and 2 variables to move in 2-d in your array.

also, welcome, and next time, wrap code tags <> on the editor panel around code blocks.
Last edited on
This is what I ended up with and it works perfectly, Thank you for helping clarify.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
]int arrayA[2][3] = { 1 ,5 ,6,
                    2 ,7 ,8 };

int arrayB[2][3] =  { 6 ,7 ,8,
                    1 ,2 ,3 };

for(int i = 0; i < 2; i++) {

for(int j = 0; j < 3; j++) {
   cin >> arrayA[i][j];
}
}
for(int i = 0; i < 2; i++) {

for(int j = 0; j < 3; j++) {
   cin >> arrayB[i][j];
}
}

Last edited on
Topic archived. No new replies allowed.