<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem zaprzyjaźnione</title>
<link>https://forum.pasja-informatyki.pl/tag/zaprzyja%C5%BAnione</link>
<description>Powered by Question2Answer</description>
<item>
<title>Liczby zaprzyjaźnione &lt;1000000</title>
<link>https://forum.pasja-informatyki.pl/512133/liczby-zaprzyjaznione-1000000</link>
<description>

&lt;p&gt;Cześć, mam za zadanie zrobić program do szukania liczb zaprzyjaźnionych mniejszych od miliona.&lt;/p&gt;



&lt;p&gt;Oto mój kod:&lt;/p&gt;



&lt;pre class=&quot;brush:python;&quot;&gt;
#Zadanie 11. Napisać program wyszukujący liczby zaprzyjaźnione mniejsze od miliona.

for y in range (1,1000001):
    k = y-1
    suma1  = 0
    while k&amp;gt;0 :
        if y%k==0:
            suma1+=k
        k-=1
    for x in range (y,1000000):
        p = x - 1
        suma2 = 0
        while p &amp;gt; 0:
            if x % p == 0:
                suma2 += p
            p -= 1
        if suma1==x and suma2==y and x!=y:
            print(&quot;Znalazłem parę liczb zaprzyjaźnionych:&quot;,x,y)&lt;/pre&gt;



&lt;p&gt;I tutaj moje pytanie: co zrobić aby program wykonał zadanie szybciej?&amp;nbsp;&lt;/p&gt;</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/512133/liczby-zaprzyjaznione-1000000</guid>
<pubDate>Sat, 17 Oct 2020 15:37:18 +0000</pubDate>
</item>
<item>
<title>Funkcja zaprzyjaźniona z polimorficznym wskaźnikiem</title>
<link>https://forum.pasja-informatyki.pl/369318/funkcja-zaprzyjazniona-z-polimorficznym-wskaznikiem</link>
<description>

&lt;p&gt;Cześć!&lt;/p&gt;



&lt;p&gt;Próbuję napisać coś w rodzaju systemu walki między dwoma postaciami,&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
void walka(Postac &amp;amp;wsk1, Postac &amp;amp;wsk2)
{

	int k;
	cout &amp;lt;&amp;lt; &quot;rozpoczyna sie walka miedzy : &quot; &amp;lt;&amp;lt; endl;
	wsk1.wyswietl();
	cout &amp;lt;&amp;lt; &quot; a : &quot; &amp;lt;&amp;lt; endl;
	wsk2.wyswietl();
	
	wsk1.hp - wsk2.obrazenia;
}
#pragma once

#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;
using namespace std;
class Postac
{
private:
	string imie;
	int lvl, hp, energia, sila, bron, obrazenia,exp;

public:
	Postac();
	virtual ~Postac();
	virtual void obrazenia1()=0;
	virtual void wyswietl() = 0;
	virtual void level() = 0;
	virtual void getexp()=0;
	virtual void atak1()=0;
	virtual void podnieshp()=0;
	virtual void podniessile()=0;
	virtual void podniesenergie()=0;
	virtual void s1()=0;
	virtual void s1o() = 0;
	virtual void s2()=0;
	virtual void hpn()=0;
	friend void walka(Postac &amp;amp;wsk1, Postac &amp;amp;wsk2);
};&lt;/pre&gt;



&lt;p&gt;Problem pojawia się gdy chce by dwa obiekty działały na siebię to znaczy żeby pobrać ilość punktów hp od jednego obiektu i odjąć o ilość punktów ataku z drugiego, próbowałem wielu różnych zapisów ale za każdym razem gdy używam metody wyswietl(); obiekt zostaje taki sam jak był a gdy spróbuję wyświetlić pojedyńczą wartość z danego obiektu np&amp;nbsp; cout&amp;lt;&amp;lt;wsk2.hp; to pokazuje mi dużo randomowych cyferek tak samo jak postawie przed wsk ampersanda. Proszę o wytłumaczenie o co tu chodzi coś w rodzaju interpretacji kodu oraz jak rozwiązać ten problem, jeżeli ktoś ma inny pomysł jak zrobić taki system walki na kształt turowej to chętnie przeczytam.&lt;/p&gt;



&lt;p&gt;Dziękuje&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
int main()
{
	

	wojownik woj1;
	wojownik *wsk1;
	wsk1 = &amp;amp;woj1;
	 
	wojownik woj2(&quot;artur&quot;,3,30,30,10,20,0,50);
	wojownik *wsk2;
	wsk2 = &amp;amp;woj2;

	walka(woj1,woj2);
	wsk1-&amp;gt;wyswietl();
	
	
		system(&quot;pause&quot;);
    return 0;
}

oraz plik wojownik.cpp

#include &quot;stdafx.h&quot;
#include &quot;wojownik.h&quot;


wojownik::wojownik(string imie,int lvl,int hp,int energia, int sila, int bron, int obrazenia,int exp):Postac()
{
	this-&amp;gt;imie = imie;
	this-&amp;gt;lvl=lvl;
	this-&amp;gt;hp = hp;
	this-&amp;gt;energia = energia;
	this-&amp;gt;sila = sila;
	this-&amp;gt;bron = bron;
	this-&amp;gt;obrazenia = obrazenia;
	this-&amp;gt;exp = exp;

}
wojownik::~wojownik()
{
}

void wojownik::wyswietl()
{
	obrazenia1();
	cout &amp;lt;&amp;lt; &quot;Parametry twojej postaci&quot; &amp;lt;&amp;lt; endl;
	cout &amp;lt;&amp;lt; &quot;imie : &quot; &amp;lt;&amp;lt; imie &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &quot;lvl : &quot; &amp;lt;&amp;lt; lvl &amp;lt;&amp;lt; endl;
	cout &amp;lt;&amp;lt; &quot;punkt zycia : &quot;&amp;lt;&amp;lt; hp &amp;lt;&amp;lt; endl&amp;lt;&amp;lt;&quot;punkt energi :&quot; &amp;lt;&amp;lt; energia &amp;lt;&amp;lt; endl &amp;lt;&amp;lt;
		&quot;sila : &quot; &amp;lt;&amp;lt;sila &amp;lt;&amp;lt; endl &amp;lt;&amp;lt;&quot;atak od broni : &quot; &amp;lt;&amp;lt;bron &amp;lt;&amp;lt; endl&amp;lt;&amp;lt; &quot;obrazenia w walce: &quot; &amp;lt;&amp;lt; obrazenia &amp;lt;&amp;lt; endl;
	cout &amp;lt;&amp;lt;  &quot; Nastepny level za  : &quot; &amp;lt;&amp;lt; exp &amp;lt;&amp;lt; &quot; punktow doswiadczenia &quot; &amp;lt;&amp;lt; endl;
}
void wojownik::obrazenia1()
{
	obrazenia = sila + bron;
}
void wojownik::atak1()
{

}
void wojownik::level()
{
	

	if (exp &amp;gt;= 100)
	{
		int punktyr = 5;
		cout &amp;lt;&amp;lt; &quot;wlasnie awansowales na &quot; &amp;lt;&amp;lt; ++lvl &amp;lt;&amp;lt; &quot;level! &quot; &amp;lt;&amp;lt; endl;
		cout &amp;lt;&amp;lt; &quot; Teraz mozesz podniesc swoje statystki  : &quot; &amp;lt;&amp;lt; endl;
		


		for (int i = 0; i&amp;lt;= 4; i++)
		{
			
			int wyborparametru;
			
			cout &amp;lt;&amp;lt; &quot; masz do dyspozycji :&quot; &amp;lt;&amp;lt; punktyr &amp;lt;&amp;lt; &quot; punktow do rozdania &quot; &amp;lt;&amp;lt; endl;
			cout &amp;lt;&amp;lt; &quot;jaki parametr chcesz podniesc? : 1-hp,     2-energia,      3-sila,  &quot; &amp;lt;&amp;lt; endl;
			cin &amp;gt;&amp;gt; wyborparametru;
			switch (wyborparametru)
			{
			case 1:
				podnieshp();
				break;
			case 2:
				podniesenergie();
				break;
			case 3:
				podniessile();
				break;
			}
			--punktyr;
			
			
			}
		exp = exp - 100;
		wyswietl();
	}
	else
		cout &amp;lt;&amp;lt; &quot;coraz blizej nowego poziomu!&quot; &amp;lt;&amp;lt; endl;


}
void wojownik::hpn()
{
	hp;
}

void wojownik::getexp()
{
	exp = exp + 20;
}
void wojownik::podnieshp()
{
	hp = hp + 2;
}
void wojownik::podniesenergie()
{
	energia = energia + 2;
}
void wojownik::podniessile()
{
	sila = sila + 2;
}

void wojownik::s1()
{
	
	obrazenia = obrazenia + 10;
	cout &amp;lt;&amp;lt; &quot;postac &quot;&amp;lt;&amp;lt;imie&amp;lt;&amp;lt;&quot;podnosi swoj atak o : &quot; &amp;lt;&amp;lt; obrazenia;
}

void wojownik::s1o()
{
	obrazenia = obrazenia - 10;
	cout &amp;lt;&amp;lt; &quot;opadasz z sil&quot; &amp;lt;&amp;lt; obrazenia;
}

void wojownik::s2()
{
	hp = hp - obrazenia;
}


&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/369318/funkcja-zaprzyjazniona-z-polimorficznym-wskaznikiem</guid>
<pubDate>Sun, 29 Jul 2018 10:25:35 +0000</pubDate>
</item>
<item>
<title>Zadanie z funkcją zaprzyjaźnioną</title>
<link>https://forum.pasja-informatyki.pl/325196/zadanie-z-funkcja-zaprzyjazniona</link>
<description>

&lt;p&gt;Witam wszystkich!&lt;/p&gt;



&lt;p&gt;Niedawno zaczęliśmy w szkole programowanie obiektowe w C++. Staram się ogarniać ewentualne braki przy pomocy filmów Pana Mirosława, jednak przerastają mnie funkcje zaprzyjaźnione.&lt;/p&gt;



&lt;p&gt;Mam tu chyba dość proste zadanie, które gdyby wyciąć z niego element z funkcją zaprzyjaźnioną&amp;nbsp;uruchamia się&amp;nbsp;bez problemu. Nie mam niestety zielonego pojęcia jak ową funkcję poprawnie napisać, prosiłbym więc o jakieś wyjaśnienie lub poprawienie tego elementu programu :)&lt;/p&gt;



&lt;p&gt;Oto treść zadania:&lt;/p&gt;



&lt;p&gt;&quot;Napisz program obliczający objętość prostopadłościanu&amp;nbsp;(klasa Prostopadloscian o polach a,b,h) - funkcja zaprzyjaźniona liczy powierzchnię.&quot;&lt;/p&gt;



&lt;p&gt;a oto mój kod:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdlib&amp;gt;

using namespace std;


class Prostopadloscian
{
			public:
				
			int a;
			int b;
			int h;	
			int wyniko;
			int wynikp;
		

	void dodaj_figure()
		{
			cout&amp;lt;&amp;lt;&quot;Dodawanie nowej figury.&quot;&amp;lt;&amp;lt;endl;
			cout&amp;lt;&amp;lt;&quot;Podaj dlugosc: &quot;&amp;lt;&amp;lt;endl;
			cin&amp;gt;&amp;gt;a;
			cout&amp;lt;&amp;lt;&quot;Podaj szerokosc: &quot;&amp;lt;&amp;lt;endl;
			cin&amp;gt;&amp;gt;b;
			cout&amp;lt;&amp;lt;&quot;Podaj wysokosc: &quot;&amp;lt;&amp;lt;endl;
			cin&amp;gt;&amp;gt;h;
		}
	void objetosc()
		{
			wyniko=a*b*h;
			cout&amp;lt;&amp;lt;&quot;Objetosc: &quot;;
			cout&amp;lt;&amp;lt;wyniko&amp;lt;&amp;lt;endl;	
		}

	friend void powierzchnia();	
};
void powierzchnia(int wynikp, int a, int b, int h)
	{
		wynikp=(a*b*2)+(a*h*2)+(b*h*2);
		cout&amp;lt;&amp;lt;&quot;Powierzchnia: &quot;;
		cout&amp;lt;&amp;lt;wynikp;
	}
	
int main()
{
	Prostopadloscian p1;
	p1.dodaj_figure();
	p1.objetosc();
	p1.powierzchnia(int wynikp, int a, int b, int h);
	
	
	return 0;
}&lt;/pre&gt;



&lt;p&gt;Z góry dziękuję za pomoc :)&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/325196/zadanie-z-funkcja-zaprzyjazniona</guid>
<pubDate>Thu, 08 Feb 2018 19:29:25 +0000</pubDate>
</item>
<item>
<title>[CR] Obiektowy C++ (#4): Funkcje zaprzyjaźnione</title>
<link>https://forum.pasja-informatyki.pl/137452/cr-obiektowy-c-%234-funkcje-zaprzyjaznione</link>
<description>

&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:18px&quot;&gt;&lt;strong&gt;CR = Code Review. O co chodzi?&amp;nbsp;&lt;a href=&quot;http://forum.pasja-informatyki.pl/125757/code-reviews-moich-odcinkow-na-yt&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Zajrzyj tutaj&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style=&quot;font-size:18px&quot;&gt;&lt;strong&gt;Pełna lista wszystkich Code Review?&amp;nbsp;&lt;a href=&quot;http://forum.pasja-informatyki.pl/125762/code-reviews-pelna-lista&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Zajrzyj tutaj&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=fHGBHwxZ8kk&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/watch?v=fHGBHwxZ8kk&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;przyjaciele.h:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;

using namespace std;

class Prostokat;

class Punkt
{
   string nazwa;
   float x,y;

public:
   Punkt(string=&quot;A&quot;,float=0, float=0);
   void wczytaj();

   friend void sedzia (Punkt &amp;amp;pkt, Prostokat &amp;amp;p);

};

class Prostokat
{
   string nazwa;
   float x,y,szerokosc,wysokosc;

public:
   Prostokat(string=&quot;brak&quot;,float=0,float=0,float=1,float=1);
   void wczytaj();

   friend void sedzia (Punkt &amp;amp;pkt, Prostokat &amp;amp;p);
};
&lt;/pre&gt;



&lt;p&gt;przyjaciele.cpp:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &quot;przyjaciele.h&quot;
using namespace std;

Punkt::Punkt(string n, float xx, float yy)
{
   nazwa=n;
   x=xx;
   y=yy;
}

void Punkt::wczytaj()
{
   cout&amp;lt;&amp;lt;&quot;Podaj x: &quot;; cin&amp;gt;&amp;gt;x;
   cout&amp;lt;&amp;lt;&quot;Podaj y: &quot;; cin&amp;gt;&amp;gt;y;
   cout&amp;lt;&amp;lt;&quot;Nazwa punktu: &quot;; cin&amp;gt;&amp;gt;nazwa;
}

Prostokat::Prostokat(string n,float xx,float yy,float s ,float w)
{
   nazwa = n;
   x=xx;
   y=yy;
   szerokosc=s;
   wysokosc=w;
}

void Prostokat::wczytaj()
{
   /*cout&amp;lt;&amp;lt;&quot;Podaj x lewego dolnego naroznika: &quot;; cin&amp;gt;&amp;gt;x;
   cout&amp;lt;&amp;lt;&quot;Podaj y lewego dolnego naroznika: &quot;; cin&amp;gt;&amp;gt;y;
   cout&amp;lt;&amp;lt;&quot;Podaj szerokosc: &quot;; cin&amp;gt;&amp;gt;szerokosc;
   cout&amp;lt;&amp;lt;&quot;Podaj wysokosc: &quot;; cin&amp;gt;&amp;gt;wysokosc;
   cout&amp;lt;&amp;lt;&quot;Podaj nazwe prostokata: &quot;; cin&amp;gt;&amp;gt;nazwa;*/
   cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;Nazwa obiektu: &quot;&amp;lt;&amp;lt;nazwa;
}
&lt;/pre&gt;



&lt;p&gt;main.cpp:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &quot;przyjaciele.h&quot;
using namespace std;

void sedzia(Punkt &amp;amp;pkt,Prostokat &amp;amp;p)
{
   p.nazwa=&quot;PODMIANA&quot;;

if((pkt.x&amp;gt;=p.x)&amp;amp;&amp;amp;(pkt.x&amp;lt;=p.x+p.szerokosc)&amp;amp;&amp;amp;(pkt.y&amp;gt;=p.y)&amp;amp;&amp;amp;(pkt.y&amp;lt;=p.y+p.wysokosc))

cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;Punkt &quot;&amp;lt;&amp;lt;pkt.nazwa&amp;lt;&amp;lt;&quot; nalezy do prostokata: &quot;&amp;lt;&amp;lt;p.nazwa;

else

cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&quot;Punkt &quot;&amp;lt;&amp;lt;pkt.nazwa&amp;lt;&amp;lt;&quot; lezy POZA prostokatem: &quot;&amp;lt;&amp;lt;p.nazwa;


}

int main()
{
    Punkt pkt1(&quot;A&quot;,3,17);
    //pkt1.wczytaj();

    Prostokat p1(&quot;Prostokat&quot;,0,0,6,4);
    //p1.wczytaj();

    sedzia(pkt1,p1);

    p1.wczytaj();

    return 0;
}
&lt;/pre&gt;



&lt;p&gt;&lt;strong&gt;Paczka z odcinka:&amp;nbsp;&lt;a href=&quot;http://miroslawzelent.pl/pliki/obiektowy_cpp_odc4.zip&quot; rel=&quot;nofollow&quot; target=&quot;_self&quot;&gt;POBIERZ​&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
<category>Nasze poradniki</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/137452/cr-obiektowy-c-%234-funkcje-zaprzyjaznione</guid>
<pubDate>Wed, 04 May 2016 15:06:15 +0000</pubDate>
</item>
<item>
<title>Obiektowy C++ (#4) Funkcje zaprzyjaźnione nie działa</title>
<link>https://forum.pasja-informatyki.pl/64304/obiektowy-c-%234-funkcje-zaprzyjaznione-nie-dziala</link>
<description>

&lt;p&gt;Ściągnąłem paczkę z lekcją i spróbowałem ją uruchomić:
&lt;br&gt;

&lt;br&gt;
&lt;a href=&quot;http://miroslawzelent.pl/kurs-obiektowy-c++/funkcje-zaprzyjaznione/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://miroslawzelent.pl/kurs-obiektowy-c++/funkcje-zaprzyjaznione/&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;
ale wysakują błędy podczas kompilacji:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
||=== funkcje_zaprzyjaznione, Debug ===|
obj\Debug\main.o||In function `main':|
H:\cplusplus\materialy do nauki\obiektowy_cpp_odc4_funkcje_zaprzyjaznione\main.cpp|23|undefined reference to `Punkt::Punkt(std::string, float, float)'|
H:\cplusplus\materialy do nauki\obiektowy_cpp_odc4_funkcje_zaprzyjaznione\main.cpp|26|undefined reference to `Prostokat::Prostokat(std::string, float, float, float, float)'|
H:\cplusplus\materialy do nauki\obiektowy_cpp_odc4_funkcje_zaprzyjaznione\main.cpp|31|undefined reference to `Prostokat::wczytaj()'|
||=== Build finished: 3 errors, 0 warnings (0 minutes, 0 seconds) ===|&lt;/pre&gt;



&lt;p&gt;
&lt;br&gt;

&lt;br&gt;
Co dziwne lekcja 3, w której też był podział na kilka plików (.cpp, .h) działa prawidłowo.
&lt;br&gt;

&lt;br&gt;
Próbowałem wygooglać, ale nie znalazłem rozwiązania.&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/64304/obiektowy-c-%234-funkcje-zaprzyjaznione-nie-dziala</guid>
<pubDate>Mon, 28 Sep 2015 15:03:45 +0000</pubDate>
</item>
</channel>
</rss>