Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
54 views

2d-String Arrays & Functions

This document discusses programming fundamentals related to 2D character arrays in C++, including how to input and output from 2D arrays, initialize 2D arrays, pass 2D arrays as function parameters, and perform operations like finding the largest value in each row. It also provides examples of code to print, sum rows of, and find the largest value in each row of a 2D array, as well as exercises related to 2D arrays.

Uploaded by

Farhan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

2d-String Arrays & Functions

This document discusses programming fundamentals related to 2D character arrays in C++, including how to input and output from 2D arrays, initialize 2D arrays, pass 2D arrays as function parameters, and perform operations like finding the largest value in each row. It also provides examples of code to print, sum rows of, and find the largest value in each row of a 2D array, as well as exercises related to 2D arrays.

Uploaded by

Farhan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Programming Fundamentals

Aamina Batool
2-D Character Arrays
 char list[100][16];
strcpy(list[1], "Snow White");
Inputting/outputting char 2-d arrays
 Suppose that you want to read and store data in list and that there is
one entry per line.
 The following for loop accomplishes this task:
for (int j = 0; j < 100; j++)
cin.get(list[j], 16);
 The following for loop outputs the string in each row:
for (int j = 0; j < 100; j++)
cout << list[j] << endl;
 You can also use other string functions (such as strcmp and strlen)
and for loops to manipulate list.
Another way to initialize

char colour[4][10] = { "Blue", "Red", "Orange” , “Yellow” };


Not a c-string always!
E.g. Tic Tac Toe
 char board[3][3] =

{{'1','2','3’},
{'4','5','6’},
{'7','8','9'}};
Reading from files
Data in the input file:
30
40
50
60
70

Task: Read these integers from the file one by one (you’d
need an integer variable) and save into another file.
Reading from files
 Data in the input file:
Hello World!
We gotta find a new way of greeting the world :3
Eh, Who cares!

Tasks:
a) Read these lines one by one and save them in an array. You’d need a 2d
character array to save these c-strings.
b) Once you’ve read the whole file and saved it in the array, now write the
data from this 2-D character array into an output file (in the same format as in
the input file)
Hint: use getline function to read (also remember that aggregate input/output
operations are allowed on character arrays)
Reading from files
 Data in the input file:
3 45 67 90
40 6 1 3

Tasks:
a) Read the data from the file and save in two separate 1-D arrays.
b) Write the data from 2 arrays of part a in a single output file in the same
format as the input file.
c) Read the data from the file and save in a 2-D array.
d) Write the data from 2D array of part c in a single output file in the same
format as the input file.
Passing Two-Dimensional Arrays as
11
Parameters to Functions

 Two-dimensional arrays can be passed as parameters to


a function

 By default, arrays are passed by reference

 The base address, that is, the address of the first


component of the actual parameter is passed to the
formal parameter

C++ Programming: From Problem Analysis to Program Design, Third Edition


12 Two-Dimensional Arrays
 When declaring a two-dimensional array as a formal
parameter
 Can omit size of first dimension, but not the second
 Number of columns must be specified

C++ Programming: From Problem Analysis to Program Design, Third Edition


Code to print array
Code to sum rows
void largestInRows(int matrix[][NUMBER_OF_COLUMNS],int noOfRows)
//Largest element in each row

void sumRows(int matrix[][NUMBER_OF_COLUMNS],int noOfRows);


//Sum of each individual row
const int NUMBER_OF_ROWS = 6;
const int NUMBER_OF_COLUMNS = 5;
void printMatrix(int matrix[][NUMBER_OF_COLUMNS], int NUMBER_OF_ROWS);
void sumRows(int matrix[][NUMBER_OF_COLUMNS], int NUMBER_OF_ROWS);
void largestInRows(int matrix[][NUMBER_OF_COLUMNS], int NUMBER_OF_ROWS);
int main()
{int board[NUMBER_OF_ROWS][NUMBER_OF_COLUMNS]=
{{17, 8, 24, 10, 28},
{9, 20, 16, 55, 90},
{25, 45, 35, 8, 78},
{5, 0, 96, 45, 38},
{76, 30, 8, 14, 28},
{9, 60, 55, 62, 10}};
printMatrix(board, NUMBER_OF_ROWS);
cout << endl;
sumRows(board, NUMBER_OF_ROWS);
cout << endl;
largestInRows(board, NUMBER_OF_ROWS);
return 0; }
Output
Exercises

 C++ Program to store temperature of two different cities for a week


and display it.
 Find Column/Row wise max, min, average, sum.
 Sort the array Row/Column wise.
 Write a program for adding two matrices of size 2x2, take input from
the user.
 Write a program for multiplying two matrices of size 2x2, take input
from the user.
 Write a program to find transpose of a 3x3 matrix and a 3x2 matrix.
 Write a program to find inverse of a 2x2 matrix.
References

1. C++ Programming: From Problem Analysis to Program Design, Third Edition


2. https://www.just.edu.jo/~yahya-t/cs115/

You might also like