Премини към съдържанието
От 1-ви септември 2021 г., вход във форумите ще е възможен само с имейл адрес вместо потребителско име. Ако не помните имейла с който сте се регистрирали, вижте го в настройките на профила си. ×
  • Добре дошли!

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

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

     

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


tishow7

Препоръчан отговор


Здравейте, тази задачи ми трябва да 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).

 

Поздрави !

Линк към коментара
Сподели в други сайтове

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

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

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


Линк към коментара
Сподели в други сайтове

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

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

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

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

  • Горещи теми в момента

  • Подобни теми

    • от силвия димитрова стефанова
      Здравейте! Може ли да ми помогнете с курсовата ми работа.  Това е условието. Не мога да направя точка 11‐III. Може ли да ми помогнете
      11‐I.Да се състави абстрактен клас Редактор на книга BookEditor Чисто виртуални функции:
      I.1.LIST<BOOKPAGE> GENERATEBOOK(STRING TITLE, INT NUMBERPAGES )‐ СЪЗДАВА СТРАНИЦИ ОТ КНИГА СЪС ЗАГЛАВИЕ TITLE И ПРАЗНИ СТРАНИЦИБРОЙ NUMBERPAGES И ГИ ДОБАВЯI.2.VOID SWAPPAGES(INT FIRSTPN, INT SECONDPN)‐ РАЗМЕНЯ СТРАНИЦИТЕ С НОМЕРА – ПАРАМЕТРИ FIRSTPN, SECONDPN.ПРОДУЦИРА ИЗКЛЮЧЕНИЕ, АКО НЕ МОЖЕ ДА СЕ ИЗПЪЛНИ
      11‐II.Да се състави клас Страница BookPage Скрити член променливи:
      Номер на страница‐ число int; Съдържание – низ string; Публични функции:
      II.1.КОНСТРУКТОРИ – ЕКСПЛИЦИТЕН, ПОДРАЗБИРАЩ СЕ;
      II.2.ЧЕТЕНЕ/ЗАПИС
      II.3.ЗА РАЗМЯНА НА СЪДЪРЖАНИЕ НА СТРАНИЦА С ПОДАДЕНАТА КАТО ПАРАМЕТЪР РЕФЕРЕНЦИЯ КЪМ СТРАНИЦА;
      II.4.OPERATOR == СРАВНЯВА ПО ВСИЧКИ ДАННИ
      II.5.OPERATOR< ЗА СРАВНЕНИЕ ЗА ПО‐МАЛКО НА ПОДАДЕНИЯ ПАРАМЕТЪР ОБЕКТ С ТЕКУЩИЯ ПО НОМЕР НА СТРАНИЦА
      II.6.ПРЕОБРАЗУВА / ВРЪЩА НИЗ ОТ ЧЛЕНОВЕТЕ НА КЛАСА
      II.7.OPERATOR<<(ИЗВЕЖДА В УКАЗАН ИЗХОДЕН ПОТОК)
      II.8.OPERATOR>>(ЧЕТЕ ОТ УКАЗАН ВХОДЕН ПОТОК)
      11‐III.Да се състави клас Книга Book за съхраняване на страници (подредени по номер на страница), наследник на BookEditor – клас I11‐I Скрити член променливи: Списък от страници – съдържа обекти от клас II, m_listPagesПублични функции: III.1.КОНСТРУКТОРИ – ЕКСПЛИЦИТЕН ПО БРОЙ СТРАНИЦИ И ЗАГЛАВНА СТРАНИЦА, СЪЗДАВА КНИГА СЪС ЗАГЛАВИЕ И ПРАЗНИ СТРАНИЦИ –УКАЗАНИЯ БРОЙ; ПОДРАЗБИРАЩ СЕ – СЪЗДАВА КНИГА САМО СЪС ЗАГЛАВИЕ
      III.2.ДОБАВЯНЕ НА СТРАНИЦА – ПАРАМЕТЪР СТРАНИЦА
      III.3.ПРОМЕНЯНЕ НА СТРАНИЦА – ПАРАМЕТЪР СТРАНИЦА
      III.4.ПРЕМАХВАНЕ НА СТРАНИЦА С ПОДАДЕН ПАРАМЕТЪР НОМЕР НА СТРАНИЦА
      III.5.РАЗМЕНЯНЕ НА СЪДЪРЖАНИЕ НА ПОДАДЕНИ ДВЕ РЕФЕРЕНЦИИ КЪМ СТРАНИЦИ.ПРОДУЦИРА ИЗКЛЮЧЕНИЕ, АКО НЕ МОЖЕ ДА СЕ ИЗПЪЛНИ
      III.6.ПРЕОБРАЗУВА / ВРЪЩА НИЗ ОТ ЧЛЕНОВЕТЕ НА КЛАСА
      III.7.ИМПЛЕМЕНТИРАНЕ НА ВИРТУАЛНИТЕ ФУНКЦИИ
      11‐IV.Главна функция (main) IV.1.СЪЗДАВА ОБЕКТ BOOK ОТ
      IIIIV.2.ИЗВЕЖДАНЕ НА КНИГАТА НА КОНЗОЛЕН ИЗХОД
      IV.3.ДОБАВЯНЕ НА СТРАНИЦА КЪМ
      IV.1, ИЗВЕЖДАНЕ НА РЕЗУЛТАТА НА КОНЗОЛЕН ИЗХОД
      IV.4.ПРЕМАХВАНЕ НА СТРАНИЦА ОТ
      IV.1, ИЗВЕЖДАНЕ НА РЕЗУЛТАТА НА КОНЗОЛЕН ИЗХОД
      IV.5.РАЗМЕНЯНЕ НА ДВЕ ОТ СТРАНИЦИТЕ ОТ
      IV.1, ИЗВЕЖДАНЕ НА РЕЗУЛТАТА НА КОНЗОЛЕН ИЗХОД
      IV.6.ОБРАБОТВАНЕ НА ИЗКЛЮЧЕНИЕ
    • от силвия димитрова стефанова
      Здравейте! Може ли да ми помогнете с точка II.6. Това е условието:
      Да се състави клас Страница BookPage Скрити член променливи: Номер на страница‐ число int; Съдържание – низ string; Публични функции: II.1.КОНСТРУКТОРИ – ЕКСПЛИЦИТЕН, ПОДРАЗБИРАЩ СЕ; II.2.ЧЕТЕНЕ/ЗАПИС II.3.ЗА РАЗМЯНА НА СЪДЪРЖАНИЕ НА СТРАНИЦА С ПОДАДЕНАТА КАТО ПАРАМЕТЪР РЕФЕРЕНЦИЯ КЪМ СТРАНИЦА; II.4.OPERATOR == СРАВНЯВА ПО ВСИЧКИ ДАННИ II.5.OPERATOR< ЗА СРАВНЕНИЕ ЗА ПО‐МАЛКО НА ПОДАДЕНИЯ ПАРАМЕТЪР ОБЕКТ С ТЕКУЩИЯ ПО НОМЕР НА СТРАНИЦА II.6.ПРЕОБРАЗУВА / ВРЪЩА НИЗ ОТ ЧЛЕНОВЕТЕ НА КЛАСА II.7.OPERATOR<<(ИЗВЕЖДА В УКАЗАН ИЗХОДЕН ПОТОК) II.8.OPERATOR>>(ЧЕТЕ ОТ УКАЗАН ВХОДЕН ПОТОК) Направила съм това:
      class BookPage { private: int NumberPage; //номер на страница string Contents; //съдържание public: BookPage(int numberPage, string contents) { NumberPage = numberPage; Contents = contents; } BookPage() { NumberPage = 0; Contents = " "; } const int& getNumberPage()const { return NumberPage; } const string& getContents()const { return Contents; } void setNumberPage(const int& sNumPege) { NumberPage = sNumPege; } void setContents(const string& sContents) { Contents = sContents; } bool operator == (const BookPage& book)const { return this->NumberPage == book.NumberPage, this->Contents == book.Contents; } bool operator < (const BookPage& number) { return this->NumberPage < number.NumberPage; } friend ostream& operator <<(ostream& out, const BookPage& book) { out << book.NumberPage << " " << book.Contents; return out; } friend ifstream& operator >> (ostream& in, BookPage& book) { cin >> book.NumberPage >> book.Contents; return in; } };  
    • от силвия димитрова стефанова
      Здравейте! Може ли да ми помогнете дали това е правилно направено.
      BookEditor::BookEditore() { BookPage::BookPage(); GenerateBook = 0; NumberPages = ""; } ListGenerateBook(string ownerBook, int 278 pages) { GenerateBook(adress); GenerateBook::ownerBook; BookPage::278 pages BookPage = Bookwords; BookEditor = getArea; } void swapPages(int86, int second 45) { BookPage::setAdress(obj.GenerateBook::getAdress()); BookPage::setArea(obj.GenerateBook::getArea()); BookPage::setHeight(obj.GenerateBook::getHeight()); BookPage = obj.BookPage; m_strOwner = obj.m_strOwner; }  

    • от Cns a1b1c1
      Някой може ли да ми помогне за една задача C++ ... Трудно ми е не мога се справям. Ще съм ви много благодарна!
      Зад.
      Зададен е едномерен масив от цели числа А0, А1,...,Аn-1, където n e кратно на 2. Да се състави програма, която изчислява разликата между сумата на елементите от първата половина и сумата на елементите от втората половина на масива.
    • от Nikola Buchukov
      Здравейте !
      Студент съм в ТУ-Варна първа година (специалност СИТ) и като цяло имам чувството, че живея в един ежедневен кошмар. Уж те учат да програмираш ама като питаш за помощ те пренебрегват и не обясняват. Основно се занимават само с тези които знаят и могат и на такива като мен които хал хабер си нямат от С++ изобщо не се обръща внимание :'). 
      И сега по същество. Имам да направя едно домашно, което знам че е елементарно но няма как да го направя като не ми е обяснено... Въртях, суках, рових в нета и какво ли още не, но... не измъдрих нищо. Ако някой тук може да удари едно рамо и да пробва да напише нещо дори да не е целия код или знае къде е решението някъде в нета ще съм МНОГО благодарен. Ето и задачата:
       
      This exercise should familiarise you with functions and parameters. You will have to design and implement a program that helps a printer in making quotes for their products. There are many ways to write this program, but it is essential that you use functions and that you do not use any global variables (you will not even need local variables)
      PART 1 (worth 50%): A printer has the following pricing system for books. For black and white printing, each sheet of paper costs a penny. In addition, they have to make a plate for each page of the original, costing 7 pounds. For colour printing, each sheet of paper costs 4 pennies, and the plates are 28 pounds. Binding costs 2 pound per copy of the book. These prices exclude 17.5% VAT (VAT has not yet risen on this bookbinder's planet). The printing is double sided.
      As an example, printing 400 black and white books with 100 pages each costs:
      100*7 pounds £ 700.00 for the plates.
      (100/2)*400*1 pennies £ 200.00 for the paper. (2 pages per sheet)
      400*2 pounds £ 800.00 for the binding.
      Subtotal £ 1700.00
      VAT £ 297.50 17.5% over 1700 pounds
      Grand Total £ 1997.50
      1. Write a function that calculates the price of a job given the number of pages, price per sheet, price per plate, and number of copies.
      2. Write a function that calculates the price of a job given the number of pages and the number of copies for black and white printing. This function should call the function that you wrote for part 1.
      3. Write a function that calculates the price of a job given the number of pages and the number of copies for colour printing. This function should call the function that you wrote for part 1.
      4. Write a main program that calculates the total price of printing 1000 colour books with 32 pages, 2000 black/white books with 40 pages and 400 black/white books with 160 pages. The main function should call the functions that you wrote for parts 2 and 3.
      PART 2 (worth 50%):
      1. Change the function that calculates the price of a job so that it assumes that books are printed with 16-fold signatures. (ie, the number of sheets is rounded up to the nearest multiple of 16).
      Change the main function so that it prints in addition to the previous number:
      • The price of printing 50 colour books of 30 pages each with 16-fold signatures.
      • The price of printing 35 black and white books of 34 pages each with 16-fold signatures.
      Please note: You don't need to change the parameters of your functions for this part. Each printed page (including partially printed pages) will need a plate, but blank pages won't. You may print out the first answer using a 16 fold signature as well for this part. Three numbers should therefore be printed for this extension. You may wish to find out how to obtain remainders in C using the modulus operator %, for example a % b in C will give the integer remainder when a is divided by b. You may also want to look at 'typecasting' - forcing conversion from one type into another type - because it is a common technique used for rounding in C. For example, typecasting a non-whole number as an integer will round it down to the nearest integer, e.g. (int) 3.14159 will evaluate to exactly 3.
       
      2. Change the functions so that the number of pages in a signature is passed as a parameter. (ie, the number of sheets is rounded up to the nearest multiple of n, where n is the size of the signature)
      Change the main function so that it prints in addition to the previous three numbers:
      • The price of printing 35 black and white books of 34 pages each with 8 fold signatures.
      • The price of printing 100 black and white books of 34 pages each with 6 fold signatures.
       
      Please note: For this extension you must print 5 numbers (the original [under a 16 fold signature], two for the first extension, two for this second extension).
  • Дарение

×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване