ОАИП Отчет 5 Мороз
.docМинистерство образования Республики Беларусь
Учреждение образования
«Белорусский государственный университет
информатики и радиоэлектроники»
Отчет по лабораторной работе № 5
Указатели. Программирование с использованием двумерных массивов
Вариант 6
Cтудент группы 163401
Мороз Кирилл Александрович
Преподаватель:
Губчик Игорь Николаевич
Минск 2011
Условие: Задана символьная матрица размером NxM. Определить количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз).
Код программы:
#include "stdafx.h"
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int main(void)
{
int bp,i,j,k,m,n;
char **a;
char b[100];
cout<<"Vvedite n - ";
cin >>n;
cout<<"Vvedite m - ";
cin >>m;
a=new char*[n];
for (i=0; i<n; i++)
a[i]=new char[m];
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
{
cout<< "Vvedite a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<endl;
}
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
cout << setw (3) << a[i][j] << " ";
cout << endl;
}
for (i=0; i<n; i++)
for (j=0; j<m; j++)
b[i*m+j]=a[i][j];
bp=n*m;
for (i=0;i<bp;i++)
for (j=i+1; j<bp; j++)
{
if (b[i]==b[j])
{
for (k=j; k<bp-1; k++)
b[k]=b[k+1];
j--;
bp--;
}
}
cout << bp << endl;
for (i=0; i<n; i++)
delete []a[i];
delete []a;
a=NULL;
return 0;
}
Блок-схема: