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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2014, 19:55   #1
dimavv
Новичок
Джуниор
 
Регистрация: 10.12.2014
Сообщений: 7
Печаль Задачи на C++ на одномерные массивы

Для одномерного массива A ( n ) найти произведение индексов L крупнейших элементов , где 0<=n<=55.
Помогите нужно сделать эти задачи до выходных
dimavv вне форума Ответить с цитированием
Старый 10.12.2014, 20:16   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Что-то начали делать самостоятельно?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 10.12.2014, 20:30   #3
dimavv
Новичок
Джуниор
 
Регистрация: 10.12.2014
Сообщений: 7
По умолчанию

Код:
#include <iostream.h>
#include <conio.h>

using namespace std;

int main()
{
	int n, L = 0;
	int A[55];

	do{
		cout << "Input size of array: ";
		cin >> n;
		if (n >= 0 && n <= 55) break;
		
		cout << "Try another number!" << endl;
	} while (n);

	cout << "ok, size is - " << n << endl;

	cout << "\nNow,input elements of array:" << endl;
	for (int i = 0; i < n; i++){
		cout << "#" << i + 1 << "- ";
		cin >> A[i];
	}
 for (int i = 0; i < n - 1; i++)
 {
     for (int j = i + 1; j < n; j++0
     {
         if (A[i] > A[j])
         {
                  int tmp = A[i];
                  A[i] = A[j];
                  A[j] = tmp;
                  }
                  }
                  }

	for (int i = 0; i < n; i++)
	{
		cout << A[i] << " ";
	}
	cout << endl;
	int P = 1;
	
	cout << "Input L:";
	cin >> L;
	
	int l = n - L;
	for (int i = n-1; i >= l; i--){
		P *= i;
	}
	

	cout << "\nP= " << P << endl;

	system("pause");
}
dimavv вне форума Ответить с цитированием
Старый 10.12.2014, 21:25   #4
dimavv
Новичок
Джуниор
 
Регистрация: 10.12.2014
Сообщений: 7
По умолчанию

но оно не так работает как должно
dimavv вне форума Ответить с цитированием
Старый 10.12.2014, 22:00   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А крупнейшие - это какие?
p51x вне форума Ответить с цитированием
Старый 10.12.2014, 22:10   #6
dimavv
Новичок
Джуниор
 
Регистрация: 10.12.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А крупнейшие - это какие?
Самые большые числа
dimavv вне форума Ответить с цитированием
Старый 10.12.2014, 22:44   #7
Aleksander550
Форумчанин
 
Регистрация: 07.01.2014
Сообщений: 124
По умолчанию

Неправильная сортировка пузырьком и подсчет P.
попробуй так
Код:
#include <iostream.h>
#include <conio.h>

using namespace std;

int main()
{
	int n, L = 0;
	int A[55];

	do{
		cout << "Input size of array: ";
		cin >> n;
		if (n >= 0 && n <= 55) break;

		cout << "Try another number!" << endl;
	} while (n);

	cout << "ok, size is - " << n << endl;

	cout << "\nNow,input elements of array:" << endl;
	for (int i = 0; i < n; i++){
		cout << "#" << i + 1 << "- ";
		cin >> A[i];
	}

 for (int i = 0; i < n; i++)
 {
	 for (int j = 0; j < n - (i + 1); j++)
     {
		 if (A[j] < A[j+1])
         {
				  int tmp = A[j];
				  A[j] = A[j + 1];
				  A[j + 1] = tmp;
                  }
                  }
                  }

	for (int i = 0; i < n; i++)
	{
		cout << A[i] << " ";
	}
	cout << endl;
	int P = 1;

	cout << "Input L:";
	cin >> L;


	for (int i = 0; i < L; i++){
		P *= A[i];
	}


	cout << "\nP= " << P << endl;

	system("pause");
}
#define TRUE FALSE //счастливой отладки
Aleksander550 вне форума Ответить с цитированием
Старый 10.12.2014, 23:04   #8
dimavv
Новичок
Джуниор
 
Регистрация: 10.12.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Aleksander550 Посмотреть сообщение
Неправильная сортировка пузырьком и подсчет P.
попробуй так
Код:
#include <iostream.h>
#include <conio.h>

using namespace std;

int main()
{
	int n, L = 0;
	int A[55];

	do{
		cout << "Input size of array: ";
		cin >> n;
		if (n >= 0 && n <= 55) break;

		cout << "Try another number!" << endl;
	} while (n);

	cout << "ok, size is - " << n << endl;

	cout << "\nNow,input elements of array:" << endl;
	for (int i = 0; i < n; i++){
		cout << "#" << i + 1 << "- ";
		cin >> A[i];
	}

 for (int i = 0; i < n; i++)
 {
	 for (int j = 0; j < n - (i + 1); j++)
     {
		 if (A[j] < A[j+1])
         {
				  int tmp = A[j];
				  A[j] = A[j + 1];
				  A[j + 1] = tmp;
                  }
                  }
                  }

	for (int i = 0; i < n; i++)
	{
		cout << A[i] << " ";
	}
	cout << endl;
	int P = 1;

	cout << "Input L:";
	cin >> L;


	for (int i = 0; i < L; i++){
		P *= A[i];
	}


	cout << "\nP= " << P << endl;

	system("pause");
}
Не еще хуже чем мой код вообще не такое ответ выходит
dimavv вне форума Ответить с цитированием
Старый 10.12.2014, 23:13   #9
Aleksander550
Форумчанин
 
Регистрация: 07.01.2014
Сообщений: 124
По умолчанию

Цитата:
Сообщение от dimavv Посмотреть сообщение
Не еще хуже чем мой код вообще не такое ответ выходит
Вот что пишет у меня

Код:
Input size of array: 10
ok, size is - 10

Now,input elements of array:
#1- 2
#2- 2
#3- 2
#4- 2
#5- -1
#6- 0
#7- 5
#8- -6
#9- 0
#10- 1
5 2 2 2 2 1 0 0 -1 -6
Input L:4

P= 40
Для продолжения нажмите любую клавишу . . .
Да, массив выводит раньше сортировки, надо чуть исправить.
А какие ещё ошибки?
#define TRUE FALSE //счастливой отладки
Aleksander550 вне форума Ответить с цитированием
Старый 10.12.2014, 23:15   #10
dimavv
Новичок
Джуниор
 
Регистрация: 10.12.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Aleksander550 Посмотреть сообщение
Вот что пишет у меня

Код:
Input size of array: 10
ok, size is - 10

Now,input elements of array:
#1- 2
#2- 2
#3- 2
#4- 2
#5- -1
#6- 0
#7- 5
#8- -6
#9- 0
#10- 1
5 2 2 2 2 1 0 0 -1 -6
Input L:4

P= 40
Для продолжения нажмите любую клавишу . . .
Да, массив выводит раньше сортировки, надо чуть исправить.
А какие ещё ошибки?
Я преподу сдавал свой код он сказал что сортировка вроде, и еще что...
dimavv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на одномерные и двухмерные массивы Drug1011 Паскаль, Turbo Pascal, PascalABC.NET 10 22.03.2012 23:14
Задачи на C++ на одномерные массивы Many man Помощь студентам 17 29.04.2011 16:59
2 задачи на одномерные массивы spankyham Паскаль, Turbo Pascal, PascalABC.NET 40 07.04.2009 23:40
3 задачи на одномерные массивы Rise Паскаль, Turbo Pascal, PascalABC.NET 10 08.01.2009 00:00
задачи на одномерные массивы в VBA fidot Помощь студентам 1 25.12.2008 16:47