Skip to main content

C++ program to implement scaling w.r.t origin


#include"graphics.h"
#include<iostream>
using namespace std;

int main()
{
int count=0,y,factor[3][3],sx,sy;
cout<<"Enter No. of cordinates: ";
cin>>y;
int **matrix, **m2;
matrix=new int*[3];
m2=new int*[3];
for(int i=0;i<y;i++)
{
matrix[i]=new int[y];
m2[i]=new int[y];
}

//initailization
for(int i=0;i<y;i++)
{
for(int j=0;j<3;j++)
{
if(j==1)
{
cout<<"\n\nEnter y-axis value for cordinate-"<<i+1<<" = ";
cin>>matrix[j][i];
}
else if(j==2)
matrix[j][i]=1;
else
{
cout<<"\n\nEnter x-axis value for cordinate-"<<i+1<<" = ";
cin>>matrix[j][i];
}
}
}

cout<<"\n\nEnter scaling factor for x: ";
cin>>sx;
cout<<"\n\nEnter scaling factor for y: ";
cin>>sy;
for(int i=0;i<3;i++)
{
for(int j=0;j<y;j++)
{
if(i==0 && j==i)
factor[i][j]=sx;
else if(i==1 && j==i)
factor[i][j]=sy;
else if(i==2 && j==i)
factor[i][j]=1;
else
factor[i][j]=0;
}
}

//display
cout<<"Object Matrix: \n";
for(int i=0;i<y;i++)
{
for(int j=0;j<3;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<"\n";
}

//display Factor matix
cout<<"\n\nFactor Matrix:\n";
for(int i=0;i<3;i++)
{
for(int j=0;j<y;j++)
cout<<factor[i][j]<<" ";
cout<<"\n";
}


initwindow(1000,700,"Scaling");
int i,z;
for(i=0;i<y-1;i++)
{
line(matrix[0][i],matrix[1][i],matrix[0][i+1],matrix[1][i+1]);
}
line(matrix[0][i],matrix[1][i],matrix[0][0],matrix[1][0]);

cout<<"\n\nScaled Matrix:\n";
for(int j=0;j<3;j++)
{
for(int k=0;k<y;k++)
{
m2[j][k]=0;
for(int l=0;l<3;l++)
m2[j][k]+=factor[j][l]*matrix[l][k];
cout<<m2[j][k]<<" ";
}
cout<<"\n";
}

for(z=0;z<y-1;z++)
{
line(m2[0][z],m2[1][z],m2[0][z+1],m2[1][z+1]);
}
line(m2[0][z],m2[1][z],m2[0][0],m2[1][0]);

while(!kbhit()){}
return 0;
}




Comments

Popular posts from this blog

Use Case Diagram for Online Book Store

Linear search & Binary search using Template

Write a program to search an element from a list. Give user the option to perform Linear or Binary search. Use Template functions. #include<iostream> using namespace std; template <class T> void Lsearch(T *a, T item, int n) { int z=0; for(int i=0;i<n;i++) { if(a[i]== item) { z=1; cout<<"\n Item found at position = "<<i+1<<"\n\n"; } else if(z!=1) { z=0; } } if(z==0) cout<<"\n Item not found in the list\n\n"; } template <class T> void Bsearch(T *a, T item, int n) { int beg=0,end=n-1; int mid=beg+end/2; while((a[mid]!=item) && (n>0)) { if(item>a[mid]) beg=mid; else end=mid; mid=(beg+end)/2; n--; } if(a[mid]==item) cout<<"\n Item found at position = "<<mid+1<<"\n\n"; else cout<<"\n Item not found in the list\n\n"; } void main() { int iarr[10] = {2,42,56,86,87,99,323,546,767,886};...

Occurrences of each letter of alphabet in the text

Program to print a table indicating the no. of occurrences of each letter of alphabet in the text entered as command line arguments. #include<iostream> #include<string> using namespace std; int main(int argc, char *argv[]) { string str=""; static int alphabet[26]; int x; cout<<"\n\n Command-Line Argument\n"; for(int i=0;i<argc;i++) { cout<<"\n "<<argv[i]; str+=argv[i]; } for(int i=0;i<str.length();i++) { if(str[i]>='A' && str[i]<='Z') { x=((int)str[i])-65; alphabet[x]++; } else if(str[i]>='a' && str[i]<='z') { x=((int)str[i])-97; alphabet[x]++; } } //Displaying No. of occurrences of each alphabets in the command line argument cout<<"\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n Alphabet No. of Occurrences\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"; for(int i=0;i<26;i++)...