programing 1
integers, a and b (obtained by the user) and will perform the division a/b, store the result in another integer c and show the result of the division using cout. In a similar way, extend the program to add, subtract, multiply, do modulo and power using integers a and b. Modify your program so that when it starts, it asks the user which type of calculation it should do, then asks for the 2 integers, then runs the user selected calculation and outputs the result in a user friendly formatted manner. Solution #1
#include <iostream>
#include<conio.h>
using namespace std;
int main()
{
int a[10],i,b=0,N=10; //declaration
cout<<"Enter the array:\n"; //enter 10 number
for(i=0;i<N;i++) //for loop to gather data
{
cin>>a[i]; //arrays of 10 integers
if (a[i]>=10) //check whether the integers are greater or equal to 10
b++; //in crement
}
cout<<"The number of integers greater or equal to 10 is: "<<b;
getch();
}
Solution #2
//------------------------- By Brandon Cox ----------------------------------
#include <iostream>
using namespace std;
#define X 10
//---------------------------------------------------------------------------
void outputFunc(int array[]);
int testFunc(int array[]);
void inputFunc(int array[]);
int main(int argc, char* argv[])
{ int array[X];
inputFunc(array);
outputFunc(array);
system("pause");
return 0;
}
//---------------------------------------------------------------------------
void inputFunc(int array[])
{ cout << "Please enter " << X << " integer elements of an array.\n" << endl;
for(int count = 0; count < X; ++count)
{ cout << "array[" << count << "]: ";
while(! (cin >> array[count]) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "array[" << count << "]: ";
}
fflush(stdin);
}
}
int testFunc(int array[])
{ int count = 0;
for(int i = 0; i < X; ++i)
if(array[i] >= 10)
++count;
return count;
}
void outputFunc(int array[])
{ cout << "\n\tYou entered " << testFunc(array) << " integers greater than or equal to"
<< " 10.\n" << endl;
}
Solution #3
//by blazzer12
//input 10 integers and print number of integers grater than or equal to 10
#include <iostream>
using namespace std;
int main()
{
const int limit = 10;
int list[10], count=0;
cout<<"Enter 10 integers :"<<endl;
for(int i=0; i<limit; i++)
{
cout<<"Enter Number "<<i+1<<" :";
cin>>list[i];
(list[i]<10) ? : count++; //observe closely and if needed, recall the syntax of ?: operator
}
cout<<"Number of interger(s) greater than 10 = "<<count;
}
Solution #4
#include <iostream>
using namespace std;
int main () {
int i; //"for" loop counter
//EXERCISE 1
int cinArray1; //integer value of array indexes
int overTen = 0; //integer value of the amount of numbers in the array that are greater than ten, starts of at 0 as we do not know yet
int array1[10]; //array of 10 integers
cout << "Enter 10 numbers for array1. ";
for (i = 0; i < 10; i++) { //for loop to gather data
cout << "Enter number " << (i + 1) << ": ";
cin >> cinArray1;
array1[i] = cinArray1; }
for (int j = 0; j < 10; j++) {
if (array1[j] > 10) {
overTen++;}
}
cout << "There are " << overTen << " numbers in array1 that are greater than ten.";
cin.get();
cin.get();
Solution #5:
#include <iostream>
using namespace std;
int main()
{
int arr[10], n,greaterIntergers = 0;
for (n = 0; n < 10; n++) {
cout << "Input an Integer ";
cin >> arr[n];
if (arr[n] >= 10) {
greaterIntergers++;
}
}
cout << greaterIntergers << " integers are greater than or equals to 10" << endl;
return 0;
}
Solution #6:
/* Note by editor GReaperEx:
This program uses pre-standard/really old code,
therefore its use is discouraged. Please try using
newer/standard code instead. */
#include <iostream.h>
#include <conio.h>
void main()
{
int no[10],i,c=0;
for(i=0;i<10;i++)
{
cin>>no[i];
if(no[i]>=10)
c++;
}
cout<<"Number Greater or Equal to 10 are"<<c;
getch();
}
Solution #7:
#include <iostream>
using namespace std;
void searching(int[]);
void printarray(int[]);
void main() {
int array[10];
cout << "Enter 10 integers: ";
for (int x = 0; x < 10; x += 1) {
cout << "Enter the " << x + 1 << "'st element: ";
cin >> array[x];
}
searching(array);
printarray(array);
}
void searching(int a[]) {
int total = 0;
for (int i = 0; i < 10; i += 1) {
if (a[i] <= 10) {
total = total + 1;
}
}
cout << "there is a total of " << total << " less or equal to 10!" << endl;
}
void printarray(int a[]) {
cout << "the number entered are: ";
for (int j = 0; j < 10; j += 1) {
cout <<"\t"<<a[j];
}
}
EXERCISE 2
Write a program that uses a “for” loop to count from 0-10 and show the numbers on the screen. In the same file, re-write this program without using a “for” loop.
Solution #1
#include <iostream>
using namespace std;
const int N = 10;
int main ()
{
int t[N], i=0, V;
for (i = 0; i < N; i++)
{
cout << "Type an integer: ";
cin >> t[i];
}
cout << "Type the value of V: ";
cin >> V;
for (i = 0; i < N; i++)
{
if (t[i] == V)
{
cout << "V is in the array" << endl;
return 0;
}
}
cout << "V is not in the array" << endl;
return 0;
}
Solution #2
#include <iostream>
using namespace std;
int main(void)
{
int V,input[10];
bool equalsV(false);
cout << "Type the value of V: ";
cin >> V;
for(int currentBlock(0); currentBlock < 10; currentBlock++)
{
cout << "Enter input[" << currentBlock << "]: ";
cin >> input[currentBlock];
if (input[currentBlock] == V)
equalsV = true;
}
cout << "V is ";
if (!equalsV)
cout << "not ";
cout << "in the array" << endl;
system("PAUSE");
return 0;
}
Solution #3
//------------------------- By Brandon Cox ----------------------------------
#include <iostream>
using namespace std;
#define X 10
//---------------------------------------------------------------------------
void outputFunc(int array[], int V);
bool testFunc(int array[], int V);
void inputFunc(int array[], int& V);
int main(int argc, char* argv[])
{ int V, array[X];
inputFunc(array, V);
outputFunc(array, V);
system("pause");
return 0;
}
//---------------------------------------------------------------------------
void inputFunc(int array[], int& V)
{ cout << "Please enter " << X << " integer elements of an array.\n" << endl;
for(int count = 0; count < X; ++count)
{ cout << "array[" << count << "]: ";
while(! (cin >> array[count]) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "array[" << count << "]: ";
}
fflush(stdin);
}
cout << "\nNow, enter the integer, \"V\": ";
while(! (cin >> V) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "Enter the integer, \"V\": ";
}
fflush(stdin);
}
bool testFunc(int array[], int V)
{ int isIn = 0;
for(int count = 0; count < X; ++count)
if(array[count] == V)
isIn = 1;
if(isIn == 1)
return true;
else
return false;
}
void outputFunc(int array[], int V)
{ cout << "\nV is ";
if(! (testFunc(array, V) ) )
cout << "not ";
cout << "in the array.\n" << endl;
}
Solution #4
// by blazzer12
// input 10 integers into an array. Find if an integer(that is input by user) is in the array.
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int arrNum[10], V, count=0;
bool found=false;
while(count<10)
{
cout<<"Enter Number "<<count+1<<" : "; //count+1 because it prints from 1,2,3.. not from 0. Value of count is not affected
cin>>arrNum[count++]; // post increment count by one
}
cout<<"Enter a Number (V) : ";
cin>>V;
for(int i=0; i<10; i++)
if(arrNum[i]==V)
{
found = true;
break; // gets out of loop after V is found; no need to run the remaining iterations :)
}
if(found)
cout<<"V is in the array";
else
cout<<"V is not in the array";
}
Solution #5
//By iCheats--------------------------------------------------------------//>
#include <iostream>
using namespace std;
//variables
int basArray[10];
int askNum;
int V;
bool youWin = false;
int main()
{
while(1)
{
for (int f = 0; f < 10; f++)
{
cout << "Type a number: ";
cin >> basArray[askNum];
}
cout << "Enter number to guess!!";
cin >> V;
for (int n = 0; n < 10; n++)
if (basArray[n] == V)
{
youWin = true;
break; // found match, don't check any more
}
if (youWin)
{
cout << "V is in the array";
break; // exit program
}
else
{
cout << "V is not in the array";
}
}
return 0;
}
Solution #6
#include <iostream>
using namespace std;
int main()
{
int arr[10], intergerV, n;
bool inArray;
cout << "Type an Integer: (it will be labeled Integer V): ";
cin >> intergerV;
for (int n = 0; n < 10; n++) {
cout << "Type an integer: ";
cin >> arr[n];
if (intergerV == arr[n]) {
inArray = true;
}
}
if (inArray)
cout << "Integer V is in the Array";
else
cout << "Integer V is not in the Array";
return 0;
}
by MAK JUNIOR
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
int v = 0, ar[10]; bool flag = false;
printf("Enter a value for the variable V\n");
cin >> v;
cout << "enter values for the array"<< endl;
for (int i = 0; i < 10; ++i)
{
cin >> ar[i];
if (ar[i] == v)
flag = true;
break;
}
flag ? cout << "match" : cout << "mismatch";
cout << endl;
}
solution #7
- include<iostream>
- include<windows.h>
- define MAX 50
using namespace std;
void NumbersToEnter(); void LoopNumbers(); void NumberSearch();
int numbersToEnter, number[MAX], numberSearch, lookNumber, i;
int main(){
NumbersToEnter(); LoopNumbers(); NumberSearch();
for(i = 1; i <= numbersToEnter; i ++){ if(numberSearch == number[i]){ system("cls"); cout << "The number you searched is: " << numberSearch << endl; cout << "The number is in the array\n"; system("pause"); return 0; } } system("cls"); cout << "The number you searched is: " << numberSearch << endl; cout << "Number not found\n";
system("pause"); return 0;
}
void NumbersToEnter(){
cout << "Enter numbers to enter: "; cin >> numbersToEnter;
} void LoopNumbers(){
system("cls"); for(int i = 1; i <= numbersToEnter; i ++){ cout << "Enter number [" << i << "]: "; cin >> number[i]; }
} void NumberSearch(){
system("cls"); cout << "search number: "; cin >> numberSearch;
} <by: VR>
EXERCISE 4
Write a program that asks the user to type 10 integers of an array and an integer value V. The program must search if the value V exists in the array and must remove the first occurrence of V, shifting each following element left and adding a zero at the end of the array. The program must then write the final array.
Solution #1
#include <iostream>
using namespace std;
const int N=10;
int main()
{
int t[N],i,j,V;
bool found;
for(i=0;i<N;i++)
{
cout << "Type an integer: ";
cin >> t[i];
}
cout << "Type the value of V: ";
cin >> V;
for (i=0;i<N;i++)
if (t[i]==V)
{
for (j=i;j<N-1;j++)
t[j]=t[j+1];
t[N-1]=0;
break;
}
for(i=0;i<N;i++)
cout << t[i] << endl;
return 0;
}
Solution #2
//------------------------- By Brandon Cox ----------------------------------
#include <iostream>
using namespace std;
#define X 10
//---------------------------------------------------------------------------
void outputFunc(int array[], int V);
int searchFunc(int array[], int V);
void inputFunc(int array[], int& V);
int main(int argc, char* argv[])
{ int V, array[X];
inputFunc(array, V);
outputFunc(array, V);
system("pause");
return 0;
}
//---------------------------------------------------------------------------
void inputFunc(int array[], int& V)
{ cout << "Please enter " << X << " integer elements of an array.\n" << endl;
for(int count = 0; count < X; ++count)
{ cout << "array[" << count << "]: ";
while(! (cin >> array[count]) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "array[" << count << "]: ";
}
fflush(stdin);
}
cout << "\nNow, enter the integer, \"V\": ";
while(! (cin >> V) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "Enter the integer, \"V\": ";
}
fflush(stdin);
}
int searchFunc(int array[], int V)
{ int index_V;
for(int count = 0; count < X; ++count)
if(array[count] == V)
{ index_V = count;
break;
}
return index_V;
}
void outputFunc(int array[], int V)
{ int count, newArray[X];
for(count = 0; count < X - 1; ++count)
newArray[count] = array[count];
for(count = searchFunc(array, V); count < X - 1; ++count)
newArray[count] = array[count + 1];
if(count < X)
newArray[X - 1] = 0;
else
{ newArray[X - 1] = array[X - 1];
cout << "\nThe number, " << V << ", is not contained within the array.\n"
<< endl;
}
cout << "\nThe final array is:\n" << endl;
for(count = 0; count < X; ++count)
cout << "array[" << count << "]: " << newArray[count] << endl;
cout << endl;
}
Solution #3
// by blazzer12
#include <iostream>
#include <cstdlib>
#define SIZE 4
using namespace std;
void getVal(int *x)
{
for(int i=0; i<SIZE; i++)
{
cout<<endl<<"Please Enter Values of Array["<<i<<"] = ";
cin>>x[i];
}
}
int getSearchCriteria()
{
int V;
cout<<endl<<endl<<"Please enter the integer you want to find (V) = ";
cin>>V;
return V;
}
int searchArray(int *y,int s)
{
int index;
bool notFound = true;
for(index = 0; notFound && index<SIZE; index++)
{
if(y[index]==s)
notFound=false;
}
if (notFound)
{
cout<<endl<<"Element "<<s<<" is not found."<<endl;
index = 0;
}
else
{
cout<<endl<<"Element "<<s<<" is found at array["<<index-1<<"]"<<endl;
}
return index-1;
}
void deleteElement(int *z,int loc)
{
for(int i=loc; i<SIZE; i++)
{
z[i]=z[i+1];
}
z[SIZE-1]=0;
}
void display(int *a)
{
cout<<endl<<"Values of array : "<<endl;
for(int i=0; i<SIZE; i++)
cout<<endl<<*a++;
}
int main()
{
int array[SIZE],V,location=-1;
char choice;
bool tryAgain=false;
// get values for array[] from user
getVal(array);
do
{
// ask user the element to be searched for
V=getSearchCriteria();
// search V and report
location = searchArray(array,V);
if(location==-1)
{
cout<<endl<<"Do you want to search again (Y/N) : ";
cin>>choice;
if(choice == 'Y' || choice == 'y')
tryAgain = true;
else
exit(0);
}
else
tryAgain= false;
}while(tryAgain);
// delete the element V
deleteElement(array,location);
cout<<endl<<"Element "<<V<<" at array["<<location<<"] is deleted!"<<endl;
// diplay array;
display(array);
return 0;
}
Solution #4
//By David J
#include <iostream>
using namespace std;
const int SZ = 10;
int main()
{
int arr[SZ];
int V;
cout << "Please enter 10 integers: " << endl;
for (int i = 0; i < SZ; i++)
{
cin >> arr[i];
}
cout << "Enter V: ";
cin >> V;
for (int i = 0; i < SZ; i++)
{
if (V == arr[i])
{
for (int j = i; j < SZ-1; j++)
arr[j] = arr[j+1];
arr[SZ-1] = 0;
}
}
for (auto i : arr)
cout << i << endl;
return 0;
}
EXERCISE 5
Write a program that asks the user to type 10 integers of an array and an integer value V and an index value i between 0 and 9. The program must put the value V at the place i in the array, shifting each element right and dropping off the last element. The program must then write the final array.
Solution #1
#include <iostream.h>
#include <conio.h>
void word_shift(int[], int, int);
int main()
{
int insert;
int index1;
int num_in[10];
cout << "Enter the value to insert:";
cin >> insert;
cout << "Enter index to place the value:";
cin >> index1;
cout << "Enter the 10 integer values:";
for(int index=0; index<=9; index++)
{
cin >> num_in[index];
}
word_shift( num_in, insert, index1 );
getch();
return 0 ;
}
void word_shift(int array[10], int ins, int index)
{
int temp;
//array[index]=ins;
for(int index1=0; index1<=9; index1++)
if (index1==index)
array[index1]=ins;
cout << endl;
for(index1=0; index1<=9;index1++)
cout << array[index1] << endl;
for(index1=0; index1<=9; index1++)
{
if(array[index1]==ins && index1<9)
{
temp = array[index1];
array[index1]=array[index1+1];
array[index1+1]=temp;
}
}
cout << endl;
for(index1=0; index1<=9;index1++)
cout << array[index1] << endl;
}
Solution #2
//------------------------- By Brandon Cox ----------------------------------
#include <iostream>
using namespace std;
#define X 10
//---------------------------------------------------------------------------
void outputFunc(int array[], int V, int i);
int* insertFunc(int array[], int V, int i);
void inputFunc(int array[], int& V, int& i);
int main(int argc, char* argv[])
{ int V, i, array[X];
inputFunc(array, V, i);
outputFunc(array, V, i);
system("pause");
return 0;
}
//---------------------------------------------------------------------------
void inputFunc(int array[], int& V, int& i)
{ cout << "Please enter " << X << " integer elements of an array.\n" << endl;
for(int count = 0; count < X; ++count)
{ cout << "array[" << count << "]: ";
while(! (cin >> array[count]) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "array[" << count << "]: ";
}
fflush(stdin);
}
cout << "\nNext, enter a new integer element, \"V\": ";
while(! (cin >> V) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "Enter a new integer element, \"V\": ";
}
fflush(stdin);
cout << "\nNow, enter the index, i(0 - " << X - 1 << "), in which to place"
<< " the new element, \n";
cout << "\t" << V << ", into the array: ";
while(! (cin >> i) || i < 0 || i > X - 1)
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "\nNow, enter the index, i(0 - " << X - 1 << "), in which to place"
<< " the new element, \n";
cout << "\t" << V << ", into the array: ";
}
fflush(stdin);
}
int* insertFunc(int array[], int V, int i)
{ int count, newArray[X], * newArrayPtr = newArray;
for(count = 0; count < i; ++count)
newArrayPtr[count] = array[count];
newArrayPtr[count] = V;
for(count = i + 1; count < X; ++count)
newArrayPtr[count] = array[count - 1];
return newArrayPtr;
}
void outputFunc(int array[], int V, int i)
{ cout << "\nThe new array is:\n" << endl;
for(int count = 0; count < X; ++count)
cout << "array[" << count << "]: " << insertFunc(array, V, i)[count] << endl;
cout << endl;
}
Solution #3
// By J0nDaFr3aK
#include <iostream>
using namespace std;
#define LENGTH 10
int main()
{
int array[LENGTH], v, i(-1), j, temp1, temp2;
for (j = 0; j < LENGTH; j++) {
cout << "enter number: ";
cin >> array[j];
}
cout << "\nenter value of V: ";
cin >> v;
do {
cout << "\nenter value of i (0 to " << LENGTH - 1 << "): ";
cin >> i;
} while (i < 0 || i > LENGTH - 1);
// saves value to copy in next one before replacing it with V
temp1 = array[i];
array[i] = v;
for (j = i + 1; j < LENGTH - 1; j++) {
temp2 = array[j];
array[j] = temp1;
temp1 = temp2;
}
array[j] = temp2; // j == LENGTH - 1 (9)
// prints new values
for (j = 0; j < LENGTH; j++) {
cout << array[j] << " ";
}
return 0;
}
Solution #4
// By Tinnin
// Inserting element into array
#include <iostream>
using namespace std;
int main()
{
int array[10], V, i;
cout << "Enter ten integers into the array: \n";
for(int j=0;j<10;j++)
{
cin >> array[j];
}
for(int j=0;j<10;j++)
{
cout << array[j] << " | ";
}
cout << "\nEnter an integer V to insert into the array: ";
cin >> V;
cout << "Choose the index i between 0 and 9 at which to enter V: ";
cin >> i;
while(i<0||i>9)
{
cout << "Choose the index i between 0 and 9 at which to enter V: ";
cin >> i;
}
for(int j=0;j<10;j++)
{
if(j==(i+1))
{
for(int k=9;k>i;k--)
{
array[k]=array[k-1];
}
break;
}
}
array[i]=V;
for(int j=0;j<10;j++)
{
cout << array[j] << " | ";
}
return 0;
}
Solution #5
//by David J
#include <iostream>
using namespace std;
const int SZ = 10;
int main()
{
int arr[SZ];
int V, i;
cout << "Please enter 10 integers: " << endl;
for (int x = 0; x < SZ; x++)
{
cin >> arr[x];
}
cout << "Enter value to insert in array: ";
cin >> V;
cout << "Enter Index (0-9) to place the value: ";
cin >> i;
while (i < 0 || i > 9)
{
cout << "Index must be within range 0-9: ";
cin >> i;
}
int z = SZ-1;
while (z != i)
{
arr[z] = arr[z-1];
z--;
}
arr[i] = V;
for (auto y : arr)
cout << y << endl;
return 0;
}
Solution #6
#include <iostream>
//by YC CHAN
using namespace std;
int main() {
int array[10], V, index=10;
for (int i = 0; i < 10; i++) {
cout << "please enter a number into array[" << i << "]: ";
cin >> array[i];
}
cout << "please enter the value V: ";
cin >> V;
if (index< 0 || index> 9) {
cout << "please enter the index value(0 - 9): ";
cin >> index;
array[index] = V;
for (int i = 0; i < 10; i++) {
cout << "array[" << i << "] is: " << array[i] << endl;
}
}
Solution #7
#include <iostream>
// by Mane Burlic
using namespace std;
int main()
{
int unos,i,j,n,mesto;
cout<<"Enter replacing number "<<endl;
cin>>unos;
cout<<"Enter number of elements in array "<<endl;
cin>>n;
cout<<"Enter place of replacement in an array "<<endl;
cin>>mesto;
int niz[n];
cout<<"Enter the members in an array "<<endl;
for(i=0;i<n;i++)cin>>niz[i];
for(j=0;j<n;j++)cout<<niz[j]<<" ";
cout<<"Final result is ";
for(j=0;j<mesto;j++)cout<<niz[j]<<" ";
for(j=mesto;j<=mesto;j++)cout<<unos<<" ";
for(j=mesto+1;j<n;j++){cout<<niz[j-1]<<" ";}
;
return 0;
}
EXERCISE 6
Write a program that search for a number in an int type array of length 10, using binary search. The program repeatedly asks the user to enter a number for searching unless the user press ‘N’ as a sentinel value.
Solution #1
#include <iostream>
using namespace std;
const int N=10;
int main()
{
int a[N],i;
bool found=false;
bool up=false,down=false;
cout << "Please enter an integer: ";
cin >> a[0];
for(i=1;i<N;i++)
{
cout << "Please enter an integer: ";
cin >> a[i];
if(a[i-1]>a[i]) down=true;
if(a[i-1]<a[i]) up=true;
}
cout << "the table is " << (up?
(down?
"increasing and decreasing":
"increasing"):
(down?
"decreasing":
"constant")) << endl;
return 0;
}
Solution #2
//------------------------- By Brandon Cox ----------------------------------
#include <iostream>
using namespace std;
#define X 10
//---------------------------------------------------------------------------
void outputFunc(bool increasing, bool decreasing);
void inputFunc(int array[], bool& increasing, bool& decreasing);
int main(int argc, char* argv[])
{ int array[X];
bool increasing, decreasing;
inputFunc(array, increasing, decreasing);;
outputFunc(increasing, decreasing);
system("pause");
return 0;
}
//---------------------------------------------------------------------------
void inputFunc(int array[], bool& increasing, bool& decreasing)
{ cout << "Please enter " << X << " integer elements of an array.\n" << endl;
for(int count = 0; count < X; ++count)
{ cout << "array[" << count << "]: ";
while(! (cin >> array[count]) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "array[" << count << "]: ";
}
if(array[count] < array[count - 1] && count != 0)
decreasing = true;
else if(array[count] > array[count - 1] && count != 0)
increasing = true;
fflush(stdin);
}
}
void outputFunc(bool increasing, bool decreasing)
{ cout << "The array is " << (increasing ? (decreasing ? "growing and decreasing.\n" :
"increasing.\n") : (decreasing ? "decreasing.\n" : "constant.\n") ) << endl;
}
Solution #3
// by blazzer12
#include <iostream>
#define SIZE 10
using namespace std;
int main()
{
int numbers[SIZE];
bool increase=false, decrease=false;
cout<<"Welcome, enter integers to know the nature of sequence."<<endl;
for(int i=0; i < SIZE; i++) //get values for numbers[] array from user
{
cout<<"numbers["<<i<<"] = ";
while(!(cin>>numbers[i]))
{
// avoid and handle invalid input
cin.clear();
cin.ignore(10000, '\n');
cout<<"Expected Integer, please try again."<<endl;
cout<<"numbers["<<i<<"] = ";
}
}
for(int i=0; i<SIZE-1; i++) // to check the nature of values
{
if(numbers[i+1]>numbers[i])
increase = true;
if(numbers[i+1]<numbers[i])
decrease = true;
}
// print result
if(increase && decrease)
cout<<"Array is Increasing & Decreasing";
else if(increase)
cout<<"Array is Increasing";
else if(decrease)
cout<<"Array is Decreasing";
else if(!(increase && decrease))
cout<<"Array is Constant";
return 0; //successful termination
}
Solution #4:
#include <iostream>
using namespace std;
const int N=10;
int main()
{
int a[N],i;
bool found=false;
bool up=false,down=false;
cout << "Please enter an integer: ";
cin >> a[0];
for(i=1;i<N;i++)
{
cout << "Please enter an integer: ";
cin >> a[i];
if(a[i-1]>a[i]) down=true;
if(a[i-1]<a[i]) up=true;
}
cout << "the table is "; if (up&&down)
cout<<"increasing and decreasing";
else if(up)
cout<< "increasing";
else if (down)
cout<< "decreasing";
else if (!(up&&down))
cout<< "constant" << endl;
system("pause");
return 0;
}
Solution #5:
// by Ismail Zouaoui
#include <iostream>
using namespace std;
int main()
{
int const SIZE = 10;
int arr[SIZE];
bool order = true;
cout << "Please enter 10 integers: ";
for(int i=0; i < SIZE; i++)
{
cin >> arr[i];
}
cout << "\nThe table is: ";
if(arr[0] < arr[SIZE-1]) // it's possibly growing
{
// we'll go over the loop to search for contradiction
// if it does exist order will change
for(int i=0; i<SIZE-1; i++)
{
if(arr[i] > arr[i+1])
{
cout << "growing and decreasing.\n";
order = false;
break;
}
}
// if order still = true, means we did not found contradiction
// so, its growing
if(order == true)
{
cout << "growing.\n";
}
}
else if(arr[0] > arr[SIZE-1]) // it's possibly decreasing
{
for(int i=0; i<SIZE-1; i++)
{
if(arr[i] < arr[i+1])
{
cout << "growing and decreasing.\n";
order = false;
break;
}
}
if(order == true)
{
cout << "decreasing.\n";
}
}
else if(arr[0] == arr[SIZE-1]) // it's possibly constant
{
for(int i=0; i<SIZE-1; i++)
{
if(arr[i] != arr[i+1])
{
cout << "growing and decreasing.\n";
order = false;
break;
}
}
if(order == true)
{
cout << "constant.\n";
}
}
return 0;
}
Solution #6:
// by YC CHAN
#include<iostream>
using namespace std;
bool increase(int a[]) {
for (int i = 0; i < 9; i++) {
if (a[i + 1] > a[i]) {
return true;
}
}
return false;
}
bool decrease(int a[]) {
for (int j = 0; j < 9; j++) {
if (a[j + 1] < a[j]) {
return true;
}
}
return false;
}
int main() {
int array[10];
for (int i = 0; i < 10; i++) {
cout << "please enter a number into array[" << i << "]: ";
cin >> array[i];
}
if (increase(array) && !decrease(array)) {
cout << "the array is growing. "<<endl;
}
else if (decrease(array) && !increase(array)) {
cout << "the array is decreasing. "<<endl;
}
else if (increase(array) && decrease(array)) {
cout<<"the array is growing and decreasing."<<endl;
}
else {
cout << "the array is constant"<<endl;
}
return 0;
}
EXERCISE 8
Write a program which takes 2 arrays of 10 integers each, a and b. c is an array with 20 integers. The program should put into c the appending of b to a, the first 10 integers of c from array a, the latter 10 from b. Then the program should display c.
Solution #1
#include <iostream>
using namespace std;
const int N=10;
int main()
{
int a[N],b[N],c[2*N],i;
cout << "Enter table a:" << endl;
for (i=0;i<N;i++)
{
cout << "Please enter an integer: ";
cin >> a[i];
}
cout << "Enter table b:" << endl;
for (i=0;i<N;i++)
{
cout << "Please enter an integer: ";
cin >> b[i];
}
for (i=0;i<N;i++) c[i]=a[i];
for (i=0;i<N;i++) c[i+N]=b[i];
cout << "Table c:" << endl;
for (i=0;i<2*N;i++)
cout << c[i] << " ";
cout << endl;
return 0;
}
Solution #2
//------------------------- By Brandon Cox ----------------------------------
#include <iostream>
using namespace std;
#define X 10
#define Y 10
//---------------------------------------------------------------------------
void outputFunc(int a[], int b[]);
int* concatenate(int a[], int b[]);
void inputFunc(int a[], int b[]);
int main(int argc, char* argv[])
{ int a[X], b[Y];
inputFunc(a, b);
outputFunc(a, b);
system("pause");
return 0;
}
//---------------------------------------------------------------------------
void inputFunc(int a[], int b[])
{ cout << "Please enter " << X << " integer elements of an array.\n" << endl;
for(int count = 0; count < X; ++count)
{ cout << "array a[" << count << "]: ";
while(! (cin >> a[count]) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "array a[" << count << "]: ";
}
fflush(stdin);
}
cout << "\nPlease enter " << Y << " integer elements of another array.\n"
<< endl;
for(int count = 0; count < Y; ++count)
{ cout << "array b[" << count << "]: ";
while(! (cin >> b[count]) )
{ cout << "\n\tSorry, invalid input... was expecting an integer."
<< " Please try again:\n" << endl;
cin.clear();
cin.ignore(10000, '\n');
cout << "array b[" << count << "]: ";
}
fflush(stdin);
}
}
int* concatenate(int a[], int b[])
{ int count, c[X + Y], * cPtr = c;
for(count = 0; count < X; ++count)
cPtr[count] = a[count];
for(count = X; count < X + Y; ++count)
cPtr[count] = b[count - X];
return cPtr;
}
void outputFunc(int a[], int b[])
{ cout << "\n\tThe final array, \"c\", is:\n" << endl;
for(int count = 0; count < X + Y; ++count)
cout << "c[" << count << "]: " << concatenate(a, b)[count] << endl;
cout << endl;
}
// interesting note... I thought of using the old *strcat from C, but since I
// am trying to hone my function and pointer handling skills, I had more fun
// doing it this way :)
Solution #3
// by blazzer12
#include <iostream>
#define SIZE 10
#define dSIZE SIZE*2
//tempArray is global variable, so its values are not overwritten; to see, try declaring it as local variable
int tempArray[dSIZE];
using namespace std;
void getVal(int *x)
{
for(int i=0; i<SIZE; i++)
{
cout<<endl<<"Please Enter Values of Array["<<i<<"] = ";
cin>>x[i];
}
delete x;
}
int* appendArrayTo(int *x, int *y)
{
for(int i=0; i <SIZE; i++)
{
tempArray[i]=*x++; // values of array A i.e *x are stored in tempArray from 0-9
tempArray[SIZE+i]=*y++; // values of array B i.e *y are stored in tempArray from 10-19, where SIZE=10
}
delete x;
delete y;
return tempArray;
}
void display(int *x)
{
cout<<endl<<"Values of C"<<endl;
for(int i=0; i<dSIZE; i++)
cout<<endl<<*x++;
delete x;
}
int main()
{
int A[SIZE];
int B[SIZE];
int *C;
cout<<"\t\tWELCOME"<<endl;
cout<<"Array B is appended to array A. Then stored in C and displayed."<<endl;
//get values of array A & B
getVal(A);
getVal(B);
//append A to B and store in C
C = appendArrayTo(A,B);
//display C
display(C);
return 0;
}
Solution #4
// by J0nDaFr3aK
#include <iostream>
using namespace std;
#define LENGTH 10
int main()
{
int a[LENGTH], b[LENGTH], c[LENGTH*2], i;
cout << "type numbers into first array:\n";
for (i = 0; i < LENGTH; i++) {
cout << i << " = ";
cin >> a[i];
}
cout << "type numbers into second array:\n";
for (i = 0; i < LENGTH; i++) {
cout << i << " = ";
cin >> b[i];
}
for (i = 0; i < LENGTH * 2; i++) {
if (i < LENGTH)
c[i] = a[i];
else
c[i] = b[i - LENGTH];
}
for (i = 0; i < LENGTH * 2; i++)
cout << c[i] << " ";
return 0;
}
Solution #5
#include<iostream>
//by YC CHAN
using namespace std;
int main() {
int array[10],array1[10],array2[20];
for (int i = 0; i < 10; i++) {
cout << "please enter a number into array[" << i << "]: ";
cin >> array[i];
}
for (int j = 0; j < 10; j++) {
cout << "please enter a number into array1[" << j << "]: ";
cin >> array1[j];
}
for (int k = 0; k < 10; k++) {
array2[k] = array[k];
array2[k + 10] = array1[k];
}
for (int k = 0; k < 20; k++) {
cout << "array2[" << k << "] is: " << array2[k] << endl;
}
return 0;
}