Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Помощ за курсова работа C++

Featured Replies

Здравейте, тази задачи ми трябва да 8.11.2014, а нищо не схващам от това нещо.

 

Да се напише програма, с която от реалните числови стойности на масив x(m) се състави и изведе нов масив y(m), по изразите:

yi=exi+1 - за всеки индекс i, който е нечетно число

yi=xi2 - за всеки индекс i, който е четно число.

Числото m(5<m<15) и масива x(m) се въвеждат предварително. Намерете общите суми и произведението на ненулевите елементи на новия масив у.

 

Ако има някой, който е добър, моля да помогне.

Здравейте, тази задачи ми трябва да 8.11.2014, а нищо не схващам от това нещо.

 

Да се напише програма, с която от реалните числови стойности на масив x(m) се състави и изведе нов масив y(m), по изразите:

yi=exi+1 - за всеки индекс i, който е нечетно число

yi=xi2 - за всеки индекс i, който е четно число.

Числото m(5<m<15) и масива x(m) се въвеждат предварително. Намерете общите суми и произведението на ненулевите елементи на новия масив у.

 

Ако има някой, който е добър, моля да помогне.

Започнете вие, напишете нещо. Тук наготово няма да получите курсовата си работа!

Задачата ти е повече математическа от колкото писане на код. Първо се помъчи да разбешре точно какво се иска после, ще ти е лесно да я напишеш. 

Здравейте !

 

Както споделиха колегите, най-добрия вариант в случая ще бъде, ако Вие представите кода, който сте разписал. 

Направих си труда да разпиша 2 решения на въпросната задача, в случай, че код не бъде представен.

Ако решите, че са Ви полезни, ползвайте ги както намерите за добре. И тъй като все пак мързела не е сред много толерираните елементи във форума, оставям на Вас задачата да си изясните кода. 

 

Вариант 1 - бърза и доста Stateless реализация:

# include <iostream>
# include <math.h>
# include <cstdlib>

using namespace std;

#define E 2.718
#define MIN ((1 << 2) + 1)
#define MAX ((1 << 4) - 1)
#define NOTHING (1 >> 1)
#define SOMETHING (NOTHING | 1) + (NOTHING & 1)
typedef double chislo_s_plavashta_zapetaya;
typedef int cyalo_chislo;
int main() {
	cyalo_chislo m = NOTHING;
	chislo_s_plavashta_zapetaya sum = NOTHING, product = SOMETHING, temp;
	do {
		cout << "Enter m (between " << MIN << " and " << MAX << " ): ";
		cin >> m;
	} while (m < MIN || m > MAX);
	for (cyalo_chislo i = NOTHING; i < m; i += SOMETHING) {
		cout << "Enter x[" << i << "] = ";
		cin >> temp;
		temp = ((i%2)?pow(E,temp+1):pow(temp,2));
		product *= temp ? temp : SOMETHING;
		sum += temp;
	}
	cout << "Sum is: " << sum << "\nProduct is: " << product << endl;
	//system("pause");
}
 

Вариант 2 - не много красиво разписване на задачата, но ако си го разкодирате и обясните, почти ще покриете това, което в университета/средното училище са Ви преподали:


# include <iostream>
# include <math.h>
# include <cstdlib>

using namespace std;

#define E 2.718
#define MIN ((1 << 2) + 1)
#define MAX ((1 << 4) - 1)
#define NOTHING (1 >> 1)
#define SOMETHING (NOTHING | 1)
typedef double chislo_s_plavashta_zapetaya;
typedef int cyalo_chislo;
typedef chislo_s_plavashta_zapetaya (*myrzela_v_Kaldata_ne_se_tolerira)(chislo_s_plavashta_zapetaya*, int);
chislo_s_plavashta_zapetaya sum(chislo_s_plavashta_zapetaya* _array, cyalo_chislo _size);
chislo_s_plavashta_zapetaya product(chislo_s_plavashta_zapetaya* _array, cyalo_chislo _size);


int main() {

	cyalo_chislo m = 0;
	chislo_s_plavashta_zapetaya *x, *y;
	myrzela_v_Kaldata_ne_se_tolerira _sum =&sum;
	myrzela_v_Kaldata_ne_se_tolerira _product =&product;
	do {
		cout << "Enter m (" << MIN << " and " << MAX << "): ";
		cin >> m;
	} while (m < MIN || m > MAX);
	x = new chislo_s_plavashta_zapetaya[m];
	y = new chislo_s_plavashta_zapetaya[m];
	for (cyalo_chislo i = NOTHING; i < m; i++) {
		cout << "Enter x[" << i << "] = ";
		cin >> x[i];
	}

	for (cyalo_chislo i = NOTHING; i < m; y[i] = ((i%2)?pow(E,x[i]+1):pow(x[i],2)), i++);

	cout << "Sum is: " << _sum(y,m) << "\nProduct is: " << _product(y,m) << endl;

	delete [] x;
	delete [] y;

	//system("pause");
}

chislo_s_plavashta_zapetaya sum(chislo_s_plavashta_zapetaya* _array, cyalo_chislo _size) {
	if (!_size) {
		return NOTHING;
	} else {
		return _array[_size - SOMETHING] + sum(_array, _size - SOMETHING);
	}
}

chislo_s_plavashta_zapetaya product(chislo_s_plavashta_zapetaya* _array, cyalo_chislo _size) {
	if (!_size) {
		return SOMETHING;
	} else {
		return (_array[_size - SOMETHING]?_array[_size - SOMETHING]:SOMETHING) * product(_array, _size-SOMETHING);
	}
}
 

Оставяйки настрана безумния код, програмите се компилират и вървят. Тествани са на Windows 7 x64, с MinGW (GCC 4.8.1).

 

Поздрави !

Редактирано от soundtracker (преглед на промените)

  • Автор

Блогодаря ти, не ме мързи, ако ме мързеше, нямаше да си играя да моля и да я правя, но ми е важна наистина.

На C++ мога да пиша само декларацията и библиотеките, в другото не съм добър за сега.

Благодаря ти много, поздрави !

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.