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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2019, 19:00   #1
bylbyl9tor
Пользователь
 
Регистрация: 07.10.2018
Сообщений: 28
Злость Нужно отсортировать массив и вывести номера эллементов массива после сортировки

Нужно отсортировать массив и вывести номера эллементов массива после сортировки
ВАЖНО!!! можно ли это сделать без использования векторов?
в этой программе выводит мусор вместо индексов ,не понимаю что не так
Код:
#include <iostream>
#include<cmath>
#include <ctime>
#include <iomanip>    
using namespace std;
int main()
{
	setlocale(LC_ALL, "ru");
	int mass[1000],nom[1000], size,min=mass[0],cup,num1,num2;
	srand(time(0));
	cout << "" << endl; cin >> size;
	for (int i = 0; i < size; i++)
	{
		mass[i] = rand() % 100;                           //заполнение
	}
	cout << "" << endl;
	for (int i = 0; i < size; i++)
	{
		cout<< setw(5) << mass[i] << setw(5); if ((i+1)%10==0)cout << endl;      //вывод массива
	}
	for (int i = 1; i < size; ++i)
	{
		for (int j = 0; j < size - i; ++j)
		{
			if (mass[j] > mass[j + 1])
			{
				cup = mass[j]; num2 = j; num1 = j + 1;
				mass[j] = mass[j + 1];
				mass[j + 1] = cup; 
				nom[i] = i + 1;
			}
		}
	}
	for (int i = 0; i < size; ++i)
	{
		if (mass[i] == mass[i + 1])
		{
			cout<<i; cout<< i + 1;
		}
	}
	for (int i = 0; i < size; i++)
	{
		cout << setw(5) << mass[i] << setw(5); if ((i + 1) % 10 == 0)cout << endl;      //вывод массива
	}
	cout << "индексы элементов после сортировки";
	for (int i = 0; i < size; ++i)
		cout << nom[i]<<" ";
	cout << num1 << setw(3) << num2 << setw(3) << endl;
	cout << endl;
	system("pause");
	return 0;
}
bylbyl9tor вне форума Ответить с цитированием
Старый 29.03.2019, 19:31   #2
bylbyl9tor
Пользователь
 
Регистрация: 07.10.2018
Сообщений: 28
По умолчанию

Так решил проблемму
Код:
#include <iostream>
#include<cmath>
#include <ctime>
#include <iomanip>    
#include <vector>
using namespace std;
int main()
{
	setlocale(LC_ALL, "ru");
	int mass[1000],nom[1000], size,min=mass[0],cup,num1,num2;
	srand(time(0));
	cout << "" << endl; cin >> size;
	for (int i = 0; i < size; i++)
	{
		mass[i] = rand() % 100;                           //заполнение
	}
	for (int i = 0; i < size; i++)
	{
		nom[i] = i;                           //заполнение индексов
	}
	cout << "" << endl;
	for (int i = 0; i < size; i++)
	{
		cout<< setw(5) << mass[i] << setw(5); if ((i+1)%10==0)cout << endl;      //вывод массива
	}
	for (int i = 1; i < size; ++i)
	{
		for (int j = 0; j < size - i; ++j)
		{
			if (mass[j] > mass[j + 1])
			{
				cup = mass[j]; num2 = j; num1 = j + 1;
				mass[j] = mass[j + 1];
				mass[j + 1] = cup;                                           // сортир
				cup = nom[j]; 
				nom[j] = nom[j + 1];
				nom[j + 1] = cup;
				
			}
		}
	}
	for (int i = 0; i < size; i++)
	{
		cout << setw(5) << mass[i] << setw(5); if ((i + 1) % 10 == 0)cout << endl;      //вывод массива
	}
	cout << "индексы элементов после сортировки";
	for (int i = 0; i < size; ++i)
		cout << " " << nom[i]<<" ";                                   //индексы
	cout << num1 << setw(3) << num2 << setw(3) << endl;
	cout << endl;
	system("pause");
	return 0;
}
bylbyl9tor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно сравнить элементы "Содержимое 1 стека после сортировки" и "Содержимое 2 стека после сортировки:" и записать то что получилось при сравнении в новый Андрей3636 Фриланс 2 24.12.2017 03:26
Нужно отсортировать таблицу по одному столбцу, но при любой попытке сортировки выдаёт ошибку: Все объединённые ячейки должны быть одного размера Velikashkeee Microsoft Office Excel 3 31.12.2016 16:53
Вывести на экран номера строк массива GregTar C++ Builder 1 08.07.2014 19:59
Создать любой типизированный файл, ввести в него элементы массива количества 50 элементов, отсортировать массив, вывести в файл vany Паскаль, Turbo Pascal, PascalABC.NET 6 01.04.2014 07:19
отсортировать массив случайных чисел и вывести на экран. PAREN_DEFO Помощь студентам 1 27.05.2011 17:17