Showing posts with label array. Show all posts
An assignment of nust on pointer in C++. copying, concatinating and searching string using pointers
1.
Create a menu
with following options
a.
Give Input
i.
Takes input from
user and saves it in the first array
b.
Copy a string
i.
User will enter a
string and it will be copied in both the arrays
c.
Concat string
i.
When concat
string option is selected, concatenate the string in the first array to second
array
d.
Search String
i.
Search first
array for the string entered by the user and only print true/false if found/not
found
e.
Display String
i.
Display the
second array to user when this option is selected.
2.
For above options
your program will have six functions in total including main.
3.
Create two
character arrays of size 1000 in main function.
4.
Every time user
selects an option pass both the arrays to functions in the form of pointers.
5.
Use pointers to
traverse and manipulate the arrays.
6.
Create a
temporary array inside any function is allowed.
//C++ program to copy cancatenate search and display string through pointers
#include<iostream>
#include<conio.h>
using namespace std;
const int array_size = 1000;
void input(char *a);
void copy(char *a, char *b);
void concat(char *a, char *b);
int search(char *a, char *b);
void display(char *a, char *b);
void main(){
char arr1[array_size];
char arr2[array_size];
char a;
int b = 0;
//initialinzing array
arr1[0] = '\0';
arr2[0] = '\0';
for (int i = 1; i < array_size; i++){
arr1[i] = '-';
arr2[i] = '-';
}
while (true){
cout << "Enter the respective key to perform function:" << endl << endl
<< "1.\tInput String." << endl
<< "2.\tCopy String." << endl
<< "3.\tConcat String." << endl
<< "4.\tSearch String." << endl
<< "5.\tDisplay String." << endl;
a = _getch();
system("cls");
switch (a)
{
case '1':
input(arr1);
break;
case '2':
copy(arr1, arr2);
break;
case '3':
concat(arr1, arr2);
break;
case '4':
b = search(arr1, arr2);
if(b == 0){
cout << arr1 <<" String not founded";
} else{
cout << arr1 << " founded " << b << " times.";
}
break;
case '5':
display(arr1, arr2);
break;
default:
system("cls");
cout << "Invalid Key" << endl;
break;
}
cout << "\n\nPress any key to continue.....";
_getch();
system("cls");
}
}
void input(char *a) {
cout << "Enter string:";
cin >> a;
cout << "Successfully Entered...";
}
void copy(char *a, char *b){
cout << "Copying string....";
while (*a != '\0'){//lastpoint of copiying string
if (*b == '-' || *b == '\0'){//last point of 2nd string or its empty slots
*b = *a; //copy value
a++; //move to next value
}
b++;
if (*a == '\0'){ //end of copying string
*b = '+';
b++;
*b = '\0';
}
}
}
void concat(char *a, char *b){
char *c = a;
cout << "Concatinating string....";
while (*c != '\0'){
if (*b == '-' || *b == '\0'){
*b = *c;
c++;
}
b++;
if (*c == '\0'){
*b = '+';
b++;
*b = '\0';
}
}
*a = '\0';
}
int search(char *a, char *b){
char *c = a;
int counter = 0;
cout << "Searching: " << c << endl << endl;
c= a;
while(*b != '\0'){
while(*b != '+'){
if(*c == *b){
c++;
b++;
} else{
c = a;
b++;
}
if(*c == '\0' && *b == '+'){
counter++;
}
}
b++;
c = a;
}
if(counter > 0){return counter;}
return 0;
}
void display(char *a, char *b){
cout << "String A: " << a << endl;
cout << "String B: " << b << endl;
}
Thursday, 29 January 2015
Posted by Unknown
Tag :
array,
c++,
code,
coding,
concatinate,
copying,
pointers,
program,
programming,
project,
project c++(basic),
string
code to calculate average
This is a sample code to calculate average using array and for loop... for understanding array and for loop you may consult our explanation on that.
#include<iostream>
#include<conio.h>
using namespace std;
void main() {
int arr[10] = { 0 };
int result = 0;
for (int i = 0; i < 10; i++){
cin >> arr[i];
}
for (int i = 0; i < 10; i++){
result += arr[i];
}
result /= 10;
cout << "The average is: " << result;
}
#include<iostream>
#include<conio.h>
using namespace std;
void main() {
int arr[10] = { 0 };
int result = 0;
for (int i = 0; i < 10; i++){
cin >> arr[i];
}
for (int i = 0; i < 10; i++){
result += arr[i];
}
result /= 10;
cout << "The average is: " << result;
}
how to sort a 2d array in C++
This program demonstrate how to sort 2d array in ascending order. The program explain it in 3x3 array you could change the values as required to meet your requirement
//prog for 2d array sort
#include<iostream>
#include<conio.h>
using namespace std;
void main() {
int arr[3][3];
int temp;
cout << "Enter 9 elements\n\n";
//Enter Element
for(int j = 0; j < 3; j++){
for(int i = 0; i < 3; i++){
cout << "Enter Elements no: " << i+j+1 << " : ";
cin >> arr[i][j];
}
}
cout << endl;
//print array
for(int j = 0; j < 3; j++){
for(int i = 0; i < 3; i++){
cout << arr[i][j] << "\t" ;
}
cout << endl;
}
// run the loop double times the number of row or column which ever is greater
for (int k = 0; k <6; k++){
//arrage elemnt in ascending order in a rows
for (int i = 0; i < 2; i++){
for (int j = 0; j < 3; j++){
if(arr[i][j] > arr[i+1][j]){
temp = arr[i][j];
arr[i][j] = arr[i+1][j];
arr[i+1][j] = temp;
}
}
//compare the last element of each row with first element of its next row
for (int i = 0; i < 2; i++){
if(arr[2][i] > arr[0][i+1]){
temp = arr[2][i];
arr[2][i] = arr[0][i+1];
arr[0][i+1] = temp;
}
}
}
}
cout << endl << endl;
// print array
for(int j = 0; j < 3; j++){
for(int i = 0; i < 3; i++){
cout << arr[i][j] << "\t" ;
}
cout << endl;
}
_getch();
}
This program arrange the rows value in in itself and then compare the last value of a row with the first value of the next row. And if it is greater it swaps them and again arrange the the row. The program continue to do it unless all the value get sorted. Go through the program and you will get it how it works
//prog for 2d array sort
#include<iostream>
#include<conio.h>
using namespace std;
void main() {
int arr[3][3];
int temp;
cout << "Enter 9 elements\n\n";
//Enter Element
for(int j = 0; j < 3; j++){
for(int i = 0; i < 3; i++){
cout << "Enter Elements no: " << i+j+1 << " : ";
cin >> arr[i][j];
}
}
cout << endl;
//print array
for(int j = 0; j < 3; j++){
for(int i = 0; i < 3; i++){
cout << arr[i][j] << "\t" ;
}
cout << endl;
}
// run the loop double times the number of row or column which ever is greater
for (int k = 0; k <6; k++){
//arrage elemnt in ascending order in a rows
for (int i = 0; i < 2; i++){
for (int j = 0; j < 3; j++){
if(arr[i][j] > arr[i+1][j]){
temp = arr[i][j];
arr[i][j] = arr[i+1][j];
arr[i+1][j] = temp;
}
}
//compare the last element of each row with first element of its next row
for (int i = 0; i < 2; i++){
if(arr[2][i] > arr[0][i+1]){
temp = arr[2][i];
arr[2][i] = arr[0][i+1];
arr[0][i+1] = temp;
}
}
}
}
cout << endl << endl;
// print array
for(int j = 0; j < 3; j++){
for(int i = 0; i < 3; i++){
cout << arr[i][j] << "\t" ;
}
cout << endl;
}
_getch();
}
This program arrange the rows value in in itself and then compare the last value of a row with the first value of the next row. And if it is greater it swaps them and again arrange the the row. The program continue to do it unless all the value get sorted. Go through the program and you will get it how it works