Премини към съдържанието
Bikegirl

търся помощ за задача с рекурсия

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


Хора, моля Ви помогнете ми.ТРябва да реша една задача по информатика с рекурсия,но там идва проблема че я решавам без рекурсия.Трябва ми рекурсия за размяна на две стойносто.. Ето задачата:

#include<iostream>

using namespace std;

int main()

{ int a,b,c,d;

cin >> a >> c >> b >> d;

if(a > b) {int w = a; a = b; b = w; }

if(c > d) {int w = c; c = d; d = w; }

int n; cin >> n;

int br = 0;

for(int i=1; i<=n; i++)

{ int x,y;

cin >> x >> y;

if(a<=x && x<=b && c<=y && y<=d) br++;

}cout << br << endl;

system("pause");

}

Трябва ми за четвъртък.. :blink:sad.gifsad.gifohmy.gif

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

Сподели този отговор


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

Първо в условието не видях да се споменава рекурсия; нито пък изобщо да се разменят стойности; второ рекурсия е последното нещо което би се използвало за размяна на стойности на променливи

Сподели този отговор


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

В същност main може да бъде от какъвто си пожелаеш тип. Въпрос е какво иска и дали иска да получава като параметър и да връща към операционната система. пример

void main(unsigned char *cp[], unsigned int cnt)

{

if(cnt)

printf("%s\n",cp[0])

return;

}

int main(unsigned char *cp[], unsigned int cnt)

{

if(!cnt) exit(0); else exit(1);

}

void main(void)

{

return;

}

П.П. Това с рекурсията ми е странно. За 20 години писане ми се е налагало само веднъж да ползвам рекурсивна функция. Ето ти пример за такава:

void aaa(int i)

{

if(i>3) return;

else {

i++;

aaa(i);

}

}

main()

{

aaa(1);

}

Вероятно се сещаш какво се случва със стека в този случай.....:)

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

Сподели този отговор


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

Това, че компилатора позволява да напишеш void main не значи че main е void

The definition

void main() { /* ... */ }

is not and never has been C++, nor has it even been C. See the ISO C++ standard 3.6.1[2]or the ISO C standard 5.1.2.2.1. A conforming implementation accepts

int main() { /* ... */ }

and

int main(int argc, char* argv[]) { /* ... */ }

A conforming implementation may provide more versions of main(), but they must all have return type int. The int returned by main() is a way for a program to return a value to "the system" that invokes it. On systems that doesn't provide such a facility the return value is ignored, but that doesn't make "void main()" legal C++ or legal C. Even if your compiler accepts "void main()" avoid it, or risk being considered ignorant by C and C++ programmers.

In C++, main() need not contain an explicit return statement. In that case, the value returned is 0, meaning successful execution. For example:

#include<iostream>

int main()

{

std::cout << "This program returns the integer value 0\n";

}

Note also that neither ISO C++ nor C99 allows you to leave the type out of a declaration. That is, in contrast to C89 and ARM C++ ,"int" is not assumed where a type is missing in a declaration. Consequently:

#include<iostream>

main() { /* ... */ }

is an error because the return type of main() is missing.

Цитата е от Bjarne Stroustrup's C++ Style and Technique FAQ

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

Сподели този отговор


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

Добавете отговор

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

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


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

Информация

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