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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2013, 19:01   #1
Hatty
Новичок
Джуниор
 
Регистрация: 25.12.2013
Сообщений: 1
По умолчанию Очень нужна помощь в матрице

Помогите разобрать с подсчетом суммы строк(последняя часть), если строк номера задаются ЦЕЛОЧИСЛЕННЫМ ВЕКТОРОМ.
Ввод матрицы, и суммой всех строк нормально, на как их подсчитать данным способом.
Буду очень благодарна за помощь



Код:
// ConsoleApplication13.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include "iostream";
#include <stdio.h>
#include <conio.h>
#include <string>
#include <iomanip>                         // Отвечает за форматированный ввод -  вывод
using namespace std;      


void perestanovka(double **a, int n, int m)     //Функция для сортировки матрицы
{
	int i, j, k, h;
	int temp[100];
	// Сортируем методом выбора.
	for (j = 0; j < m; j++)
	{
		for (i = 0; i < n; i++)
			temp[j] += a[i][j];
	}
	for (j = 0; j < m; j++)
	{
		for (k = j + 1; k < m; k++)
		{

			if (temp[j] > temp[k])      // По условию: сортировка происходит по возрастанию сумм столбцов
			{

				h = temp[j];

				temp[j] = temp[k];           // Заменяем значения исходного массива на новый, для дальнейшего использования при сортировки

				temp[k] = h;

				for (i = 0; i < n; i++)
				{

					h = a[i][j];                       //Переставляем столбцы  по возрастанию сумм

					a[i][j] = a[i][k];

					a[i][k] = h;

				}
			}
		}
	}


}

int _tmain(int argc, _TCHAR* argv[])
{

	double **a;   // Использование динамической матрицы
	int  n, m, temp[100];
	int i, j,k,h;

	// Пусть матрица вводиться вручную с клавиатуры.

	cout << " Vvedite kolichestvo strok n= \n";
	cin >> n;                                            //ввод количества строк с клавиатуры.
	cout << "Vvedite kolichestvo stolbchov m=\n";
	cin >> m;                                         //ввод количества столбцов с клавиатуры.
	cout << "\n";

	cout << "\n\n Vvdodim postrochno cheres probel \t";
	cout << "\n";
	a = new double*[n];
	for (i = 0; i < n; i++)                               //цикл для вывода матрицы на экран
	{ 
		cout << ">\t";
		a[i] = new double[m];
		for (j = 0; j < m; j++)
			cin >> a[i][j];
	}
	cout << "\n";
	cout << "Kontrolnai matricha:\n";
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
			cout << setw(4) << a[i][j];
		cout << "\n";
	}
	
	cout << "\n";
perestanovka(a, i, j);       // ВЫзов функции для сортировки

	// Печатаем отсортированую матрицу.

	cout << "Otsortirovannai matrich:\n";
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
		{

			cout << setw(10) << right << a[i][j];

		}
		cout << "\n";
	}

	cout << "\n" << "\n";


	for (j = 0; j < 100; j++)            // Обнуляем дополнительный массив

		temp[j] = 0;

	// Находим сумму элементов строк отсортированного массива

	cout << "Summa elementov strok:\n";

	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)

			temp[i] += a[i][j];

		cout <<right<<setw(15)<< temp[i] << "\t";    // Печатаем сумму в виде одномерной матрицы.

	} 

	_getch();
	return 0;
}
Hatty вне форума Ответить с цитированием
Старый 26.12.2013, 05:39   #2
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Цитата:
если строк номера задаются ЦЕЛОЧИСЛЕННЫМ ВЕКТОРОМ
а номера могут быть не целыми числами?
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь по матрице с++ atmkpreissing Помощь студентам 1 27.11.2013 05:12
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь! Нужно найти ошибку в очень простой программе. Lex55555777 Помощь студентам 3 07.12.2008 20:32