joi, 11 octombrie 2012

Stergere coloana dintr-o matrice

#include <fstream>
using namespace std;
int main()
{
        int n, m, l, a[100][100], i, j, c;
        ifstream f("mat.IN");
        f >> l >> c >> n >> m;
        for(i = 1; i <= n; i++) {
                for(j = 1; j <= m; j++) {
                        f >> a[i][j];
                }
        }
        f.close();
        ofstream g("mat.out");
        g << "Afisarea normala a matricei:\n\n";
        for(i = 1; i <= n; i++) {
                for(j = 1; j <= m; j++) {
                        g << a[i][j] << " ";
                }
                g << endl;
        }
        g << "\n\nMatricea finala:";
        for(i = l + 1; i <= n; i++) {
                for(j = 1; j <= m; j++) {
                        a[i-1][j] = a[i][j];
                }
                g << endl;
        }
        n--;
        for(i = 1; i <= n; i++) {
                for(j = c + 1; j <= m; j++) {
                        a[i][j-1] = a[i][j];
                }
        }
        m--;
        for(i = 1; i <= n; i++) {
                for(j = 1; j <= m; j++) {
                        g << a[i][j] << " ";
                }
                g<< endl;
        }
        for(i = 1; i <= n; i++) {
                for(j = c + 1; j <= m; j++) {
                        a[i][j-1] = a[i][j];
                }
        }
        return 0;
}

marți, 9 octombrie 2012

Rotire in toate directiile matrice


Rotire in toate directiile matrice

#include<iostream>
#include<fstream>
    using namespace std;
    int main()
    {
        int a[50][50],b[50][50],n,m,i,j;
        ifstream f("mat.IN");
        f>>m>>n;
        for(i=1;i<=n;++i)
        for(j=1;j<=n;++j)
        f>>a[i][j];
                f.close();
                        ofstream g("mat.OUT");
                        g<<"rotire 90 st:"<<" ";
                        g<<endl;
                          for(i=1; i<=m;++i)
                    for(j=1; j<=m; j++)
                           b[i][j]=a[m+1-j][i];
        for(i=1;i<=m;++i){
        for(j=1;j<=n;++j)
        g<<b[i][j]<<" ";
        g<<endl;}
        g<<"rotire 90 dr:"<<" ";
        g<<endl;
                          for(i=1; i<=m;++i)
                    for(j=1; j<=m; j++)
                           b[i][j]=a[j][m+1-i];
        for(i=1;i<=m;++i){
        for(j=1;j<=n;++j)
        g<<b[i][j]<<" ";
        g<<endl;}
         g<<"rotire 180"<<" ";
         g<<endl;
                          for(i=1; i<=m;++i)
                    for(j=1; j<=m; j++)
            b[i][j]=a[n+1-i][j];
        for(i=1;i<=m;++i){
        for(j=1;j<=n;++j)
        g<<b[i][j]<<" ";
        g<<endl;}
      g.close();
        return 0;
    }

Spirala

Spirala


#include<iostream>
#include<fstream>
using namespace std;
int main(){
int a[50][50],i,k,j,n,m;
ifstream f("spirala.IN");
f>>n;
f>>k;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++){
f>>a[i][j];
f.close();
ofstream g("spirala.OUT");
 g<<a[i][j];
 g<<endl;
 f>>a[i][j];
}
for(k=1;k<=n/2+1;k++)
for(i=k;i<=n-k+1;i++){
g<<a[k][i]<<endl;
for(i=k+1;i<=n-k+1;i++)
g<<a[n-k+1][i]<<endl;
for(i=n-k;i>=k+1;i++)
g<<a[n-k+1][i]<<endl;
for(i=n-k;i>=k+1;i++)
g<<a[i][k]<<endl;
}
return 0;
}

Triunghiuri sau zone delimitate de diagonale


Triunghiuri sau zone delimitate de diagonale
#include<iostream>
#include<fstream>
using namespace std;
int main(){
    int a[50][50],i,j,n,p,m=i,gasit;
ifstream f("zone.IN");
f>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
f>>a[i][j];
f.close();
ofstream g("zone.OUT");
 g<<"triunghiul inf. diag, princ.este  ";
 g<<endl;
 for(i=1;i<=n;++i){
 g<<endl;
 for(j=1;j<=n;++j)
 if(i>j)
 g<<a[i][j]<<" ";
 else g<<" ";
 if(a[i][j]==p) gasit=1;
 }
 g<<"triunghiul inf. diag, sec.este  ";
 g<<endl;
 for(i=1;i<=n;++i){
 g<<endl;
 for(j=1;j<=n;++j)
 if(j>i)
 g<<a[i][j]<<" ";
 else g<<" ";
 if(a[i][j]==p) gasit=2;
}
return 0;
}

Inmultirea a 2 matrice

Inmultirea a doua matrice


#include <fstream>
#include <iostream>
using namespace std;
ofstream g("mat.OUT");
ifstream f("mat.IN");
int main(){
int a[50][50],b[50][50],c[50][60],m,n,p,r,i,j,k;
f>>m>>n>>p>>r;
if(n!=m)
g<<"Inmultirea nu este posibila!"<<"\n";
else{
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
f>>a[i][j];
for(i=1;i<=p;i++)
for(j=1;j<=r;j++)
f>>b[i][j];
g<<"\n";
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
c[i][j]=0;
for(k=1;k<=p;k++)
{c[i][j]+=(a[i][k]*b[k][j]);
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=r;j++)

g<<" "<<"c["<<i<<","<<j<<"]="<<c[i][j];

}}
return 0;
}