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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2016, 13:03   #1
Cheaty
Новичок
Джуниор
 
Регистрация: 15.05.2016
Сообщений: 1
По умолчанию Упорядочить одномерный массив

Доброго времени суток!
Помогите, пожалуйста, сделать задание
Составить упорядоченный по возрастанию одномерный массив, состоящий из элементов совпадающих строк массива



Вот у меня есть начало( но тут выбивает только номера совпадающих строк, а не всю матрицу). Помогите переделать и доделать. Спасибо


Код:
#include <iostream>
using namespace std;
int main(){
{
    const int size=3;
    int A[size][size], k, i,j;
    for (int i=0; i<size; i++)
        for (int j=0; j<size; j++)
       cin>>A[i][j];
    for (int i=0; i<size-1; i++)
        for (int j=i+1; j<size; j++)
        {
            for (k=0; k<size; k++)
                if (A[i][k]!=A[j][k])
                    break;
            if (k==size)
             cout<<"identy: "<<i+1<<'&'<<j+1<< endl;

          }
          system("pause")  ;
             return 0;

    }
}
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 15.05.2016 в 13:06.
Cheaty вне форума Ответить с цитированием
Старый 19.05.2016, 04:05   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Если в матрице будет несколько пар совпадающих строк, то выводится 1-я. Я работал в Visual Studio 2013. Если будут вопросы пиши здесь.


Код:
#include <iostream>
using namespace std;

int main()
{

	int min, i_min, S, nomer_stroki = -1;
	int size;
	int A[10][10], B[10];

	// 1) Ввод исходных данных через консоль

	setlocale(LC_ALL, "rus"); // корректное отображение Русских букв
	cout << ("Введите размер матрицы (макс. 10):");
	cin >> size;
	cout << ("Заполнение матрицы:") << endl;
	for (int i = 0; i < size; i++)
	for (int j = 0; j < size; j++)
	{
		cout << ("A[") << i << ("][") << j << ("]=");
		cin >> A[i][j];
	}
	cout << endl << ("Вы ввели:") << endl;
	cout << endl;
	for (int i = 0; i < size; i++)
	{
		for (int j = 0; j < size; j++)
		{
			cout << (" ") << A[i][j];
		}
		cout << endl;
		cout << endl;
	}


/*	 // Контрольный пример
	size=5;
	A[0][0] = 7; A[0][1] = 8; A[0][2] = 9; A[0][3] = 6; A[0][4] = 8;
	A[1][0] = 2; A[1][1] = 1; A[1][2] = 3; A[1][3] = 0; A[1][4] = 7;
	A[2][0] = 2; A[2][1] = 2; A[2][2] = 8; A[2][3] = 5; A[2][4] = 6;
	A[3][0] = 2; A[3][1] = 1; A[3][2] = 3; A[3][3] = 0; A[3][4] = 7;
	A[4][0] = 7; A[4][1] = 5; A[4][2] = 9; A[4][3] = 6; A[4][4] = 8;
*/	

	// 2) Нахождение 2-х одинаковых строк в матрице 

	for (int i = 0; i < size - 1; i++)
	{
		for (int k = i + 1; k < size; k++)
		{
			S = 0; // S - это счеткик совпадений элементов заданой строки и элементов к-й строки. Если S=size - значит есть совпадающие строки
			for (int j = 0; j < size; j++)
			{
				if (A[i][j] == A[k][j])
					S = S + 1;
				else
					break;
			}
			if (S == size)
			{
				nomer_stroki = k;
				break;
			}
		}
		if (S == size)
		{
			break;
		}
	}

	// 3) Формирование и сортировка вектора B[]

	if (nomer_stroki != -1)
	{
		for (int j = 0; j < size; j++)
			B[j] = A[nomer_stroki][j];

		for (int j = 0; j < size - 1; j++)
		{
			min = B[j];
			i_min = j;
			for (int i = j + 1; i < size; i++)
			{
				if (B[i] < min)
				{
					min = B[i];
					i_min = i;
				}
			}
			min = B[j];
			B[j] = B[i_min];
			B[i_min] = min;
		}
	}

	// 4) Вывод массива В[]

	if (nomer_stroki != -1)
	{
		cout << ("Отсортированный вектор:") << endl;
		for (int i = 0; i < size; i++)
			cout << B[i] << (" ") << endl;
	}
	else
		cout << ("Нет совпадающих строк в матрице") << endl << endl;

	system("pause");
	return 0;
}
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 19.05.2016 в 10:14.
ura_111 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упорядочить одномерный массив NadezdaM Visual C++ 2 25.12.2012 17:47
упорядочить одномерный массив таким образом,чтобы сначалашлиупорядоченные положительные члены и tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 5 05.07.2012 20:16
Одномерный массив (посчитать количество, сумму и упорядочить) Си++ Defender42 Помощь студентам 10 02.04.2011 10:42
Упорядочить одномерный массив указателей на строки DarkDante Общие вопросы C/C++ 1 02.05.2010 15:53
одномерный массив. упорядочить serj-07 Помощь студентам 11 18.01.2010 01:28