Hey guys any idea with this c++ code is giving me a segmentation fault?? Thanks!
ID: 653810 • Letter: H
Question
Hey guys any idea with this c++ code is giving me a segmentation fault?? Thanks!
#include <iostream>
void swap(int arr[][4], int row, int col);
using namespace std;
int main(int argc, char * argv[]) {
int arr[3][4] = {{3, 6, 2, 5},
{2, 9, 8, 1},
{1, 0, 4, 3}};
swap(arr, 3, 4);
for (int i = 0; i < 3; i++){
for (int j = 0; j < 4; j++) {
cout << arr1[i][j];
cout << endl;
}
}
return 0;
}
void swap(int arr[][4], int row, int col){
for (int i = 0; sizeof(arr[0]) / sizeof(arr[0][0]); ++i)
{
int temp = arr[row][i];
arr[row][i] = arr[col][i];
arr[col][i] = temp;
}
/*for (int i = 0; i < sizeof(arr[0]) / sizeof(arr[0][0]); i++) {
int y = sizeof(int) / sizeof(arr);
for (int j = 0; j < sizeof(int) / sizeof(arr); j++) {
int temp = arr[j];
arr[j] = arr[y - j - 1];
arr[y - j - 1] = temp;
}
}
for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
cout << arr[i] << " " << endl;
}*/
}
Explanation / Answer
#include <iostream>
void swap(int arr[][4], int row, int col);
using namespace std;
int main(int argc, char * argv[]) {
int arr[3][4] = {{3, 6, 2, 5},
{2, 9, 8, 1},
{1, 0, 4, 3}};
swap(arr, 3, 4);
for (int i = 0; i < 3; i++){
for (int j = 0; j < 4; j++) {
cout << arr[i][j];
}
cout << endl;
}
return 0;
}
void swap(int arr[][4], int row, int col){
for (int i = 0; i<4; ++i)// for (int i = 0; sizeof(arr[0]) / sizeof(arr[0][0]); ++i)
{
int temp = arr[row][i];
arr[row][i] = arr[col][i];
arr[col][i] = temp;
}
/*for (int i = 0; i < sizeof(arr[0]) / sizeof(arr[0][0]); i++) {
int y = sizeof(int) / sizeof(arr);
for (int j = 0; j < sizeof(int) / sizeof(arr); j++) {
int temp = arr[j];
arr[j] = arr[y - j - 1];
arr[y - j - 1] = temp;
}
}
for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
cout << arr[i] << " " << endl;
}*/
}
but it is printing same array
if you can tell me what exactly you want to do with this program i can help you out