Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2016, 18:49   #1
Динияр
 
Регистрация: 25.03.2016
Сообщений: 3
По умолчанию Помогите построить блок-схему матрицы

В квадратной матрице вычислить сумму элементов, расположенных на одной горизонтали - М и вертикали - К с заданным элементом матрицы А[М,К], и полученное значение присвоить всем элементам матрицы, не участвовавшим в суммировании.
Помогите, пожалуйста, построить ее блок-схему!
Это ее реализация на языке С++
Код:
//#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <iomanip>
#define N 4
using namespace std;
int main()
{
    int A[N][N],n,m,k,sum=0;
    setlocale (0, "");
    cout << "Размер матрицы N: ";
    cin >> n;
    cout << "Введите матрицу" << endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            cout << "A[" << i << "][" << j << "] = ";
            cin >> A[i][j];
        }
    }
    cout << "Исходная матрица" << endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
        cout<<setw(5);
        cout << A[i][j];
        }
        cout<<endl;
    }
    do
    {
        cout << "Введите заданный номер строки M(1.."<< N <<" ): ";
        cin >> m;
    }
    while(!(m>=1&&m<=N));
    {
    do
    {   
        cout << "Введите заданный номер столбца K(1.."<< N <<" ): ";
        cin >> k;
    }
    while(!(k>=1&&k<=N));
    }
    cout <<"Координата строки M = "<<m<< endl;
    cout << "Координата столбца K = "<<k<< endl;
    m--;k--;
    for(int i=0;i<n;i++)
    {
        sum=sum+A[m][i];
        sum=sum+A[i][k];
    }
    sum=sum-A[m][k];
    cout << "Сумма = " << sum << endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(i!=m&&j!=k)
            A[i][j]=sum;
        }
    }
    cout << "Новая матрица" << endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
        cout<<setw(5);
        cout << A[i][j];
        }
        cout << endl;
    }
system("pause");
    return 0;
}
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Динияр; 10.04.2016 в 19:03.
Динияр вне форума Ответить с цитированием
Старый 10.04.2016, 18:54   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Если вы хотите вводить размер массива, то вам надо выделять память под этот размер с помощью new, а не просто константа == 4.

https://www.google.com/search?q=c%2B%2B+dynamic+array
https://www.google.com/search?q=c%2B%2B+dynamic+matrix

И как название темы относится к вопросу?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.04.2016, 18:56   #3
Динияр
 
Регистрация: 25.03.2016
Сообщений: 3
По умолчанию

А так будет правильнее?
Код:
//#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <iomanip>
#define N 100 // 
using namespace std;
int main()
{
	int A[N][N],n,m,k,sum=0;
	setlocale (0, "");
	cout << "Размер матрицы; N: ";
	cin >> n;
	if (n>N||n==0)
    {
    cout << "недопустимый размер матрицы;";
    return 0;
    }
	cout << "введите матрицу;" << endl;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			cout << "A[" << i << "][" << j << "] = ";
			cin >> A[i][j];
		}
	}
	cout << "исходная матрица;" << endl;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
		cout<<setw(5);
		cout << A[i][j];
		}
		cout<<endl;
	}
	do
	{
		cout << "введите заданный элемент; M(1.."<< n <<" ): ";
		cin >> m;
	}
	while(!(m>=1&&m<=n));
	{
	do
	{	
		cout << "введите заданный элемент; K(1.."<< n <<" ): ";
		cin >> k;
    }
    while(!(k>=1&&k<=n));
    }
    cout <<"координата строки; M = " << m << endl;
    cout <<"координата столбца; K = " << k << endl;
    m--;k--;
	for(int i=0;i<n;i++)
	{
		sum=sum+A[m][i];
		sum=sum+A[i][k];
	}
	sum=sum-A[m][k];
	cout << "Сумма; = " << sum << endl;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(i!=m&&j!=k)
			A[i][j]=sum;
		}
	}
	cout << "новая матрица" << endl;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
		cout<<setw(5);
		cout << A[i][j];
		}
		cout << endl;
	}
system("pause");
	return 0;
}

Последний раз редактировалось Динияр; 10.04.2016 в 19:02.
Динияр вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите построить блок-схему wesker57 Помощь студентам 0 14.04.2015 17:49
Помогите пожалуйста построить блок схему по программе (срочно) Алан1114 Паскаль, Turbo Pascal, PascalABC.NET 4 29.01.2014 01:32
Помогите составить задачу и построить блок-схему Batusay Фриланс 20 23.09.2011 18:25
Построить блок схему realt Помощь студентам 3 25.05.2010 17:34