Member 13589920 Ответов: 1

Почему visual studio не запускает эту программу


Дан массив чисел, содержащий 10 элементов. Напишите функцию, которая сортирует массив в порядке возрастания или убывания, в зависимости от третьего параметра функции. Если он равен 1, то сортировка осуществляется в порядке убывания, если 0, то в порядке возрастания. Первые два параметра функции 2-это массив и его размер, третий параметр по умолчанию равен 1.

Под словами "дефолт" и "домашнее задание"есть красная линия.(

Что я уже пробовал:

#include<iostream>
#include<ctime>

using namespace std;



int homework(int arr[], const int SIZE = 10, int default = 1) {

	srand(time(NULL));

	for (int i = 0; i < SIZE; i++)
	{
		arr[i] = rand() % 100;
	}

	for (int i = 0; i < SIZE; i++)
	{
		cout << arr[i] << " ";
	}

	cout << endl << endl;

	if (default == 1) {
		for (int i = 0; i < SIZE; i++)
		{
			for (int i = 0; i < SIZE - 1; i++) {
				if (arr[i] < arr[i + 1]) {
					int temp = arr[i];
					arr[i] = arr[i + 1];
					arr[i + 1] = temp;
				}
			}
		}
	}
	else if (default != 1) {
		for (int i = 0; i < SIZE; i++)
		{
			for (int i = 0; i < SIZE - 1; i++) {
				if (arr[i] > arr[i + 1]) {
					int temp = arr[i];
					arr[i] = arr[i + 1];
					arr[i + 1] = temp;
				}
			}
		}
	}

	for (int i = 0; i < SIZE; i++)
	{
		cout << arr[i] << " ";
	}

	return 0;
}


int main() {

	const int SIZE = 10;

	int arr[SIZE];

	homework(arr, SIZE, 1);
}

David_Wimbley

Так в чем же ваша проблема? Если visual studio "не запускает его"...какую ошибку вы получаете?

1 Ответов

Рейтинг:
1

KarstenK

вы должны изменить функциональную головку на эту:

int homework(int arr[], const int size, bool loopType) 

вы не можете использовать параметры по умолчанию в реализации. Не используйте большую букву в качестве имен var, но только для константы. А "default" - это ключевое слово reserverd (в циклах переключения)
ваше кодирование
if (default == 1) {
		// ...
	}
	else if (default != 1)///NOT NEEDED !!!!
решается на это
if (loopType) {
		// ...
	}
	else {
вы можете сделать это в одном цикле
for (int i = 0; i < SIZE; i++)
	{
		arr[i] = rand() % 100;// set value
		cout << arr[i] << " "; //read and output value
	}