Показать сообщение отдельно

Моё маленькое задание.
  #4356  
Старый 22.11.2009, 19:36
ZnikiR
Участник форума
Регистрация: 14.01.2009
Сообщений: 194
Провел на форуме:
798217

Репутация: 44
По умолчанию Моё маленькое задание.

Вот написал маленькую программу по Д\З в универе,вроде всё работает,но хотелось бы узнать ваше мнение на её счет.
Программирую на С++ я только с этого года,а Visual Studio Вообще лишь сегодня поставил
Код:
#include<iostream>
#include<math.h>
using namespace std;
/*Задание:
Есть два массива 
G[k][k]={9,8,7,6,5,4,3,2,1}
E[k][k]={1,2,3,4,5,6,7,8,9}
k=3
Найти M[i][j]=Σ(L=0 до L=K-1)G[i][L]*E[L][j]
По русски 
M[i][j]=G[i][0]*E[0][j]+G[i][1]*E[1][j]+G[i][2]*E[2][j]

И затем вывести её в виде матрицы.
*/

int main () {
//Для отладки поставь tmode=1
			const int k=3,tmode=0;
			int g[k][k]={9,8,7,6,5,4,3,2,1};
			int e[k][k]={1,2,3,4,5,6,7,8,9};
			int m[k][k],i,j,l,sum;
			for (i=0;i<k;i++)
			{
				if(tmode==1){cout<<endl<<" || i="<<i;}							//<===== отладка

				//первый цикл,перебор массивов по i
				for (j=0;j<k;j++)
				{
					
					
					
					
					if(tmode==1){cout<<" ||j="<<j<<endl;}						//<===== отладка
					//перебор по j
					sum=0;
					//SUM=0 нужен для того,чтобы к сумме не прибавлялось значение полученное в циклах по L до этого
					for (l=0;l<k;l++)
					{
						//сумме присваеваем значение предидушей + текущего произведение
						sum=sum+g[i][l]*e[l][j];
						//На выходе получаем M[i][j]
						if(tmode==1){cout<<" | sum[l="<<l<<"]="<<sum;}//<===== отладка
					}
				m[i][j]=sum;
				

				if(tmode==1){cout<<" | m[i="<<i<<"][j="<<j<<"]="<<m[i][j];					//<===== отладка
				             cout<<endl;}													//<===== отладка
				}
			}



//Второй этап=Вывод
			printf("m[i/j]|   0  |   1  |   2   \n======|======|======|======\n");
				for(i=0;i<k;i++)
				{
					printf("  %2d",i);
						for (j=0;j<k;j++)
						{
							
							if (m[i][j]>99){printf("  | %2i",m[i][j]);}
							else {printf("  |  %2i",m[i][j]);}
                     
						}printf("\n======|======|======|======\n");
				}		
			return 0;
			}
 
Ответить с цитированием