<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem sciezka</title>
<link>https://forum.pasja-informatyki.pl/tag/sciezka</link>
<description>Powered by Question2Answer</description>
<item>
<title>PHP nie załącza pliku w innym pliku (require/include), zła ścieżka?</title>
<link>https://forum.pasja-informatyki.pl/365441/php-nie-zalacza-pliku-w-innym-pliku-require-include-zla-sciezka</link>
<description>

&lt;p&gt;Witam serdecznie,
&lt;br&gt;

&lt;br&gt;
mam problem z załączeniem jednego pliku z szablonem HTML do drugiego (zarówno z wykorzystaniem require jak i include).&amp;nbsp;
&lt;br&gt;
Poniżej przedstawiam drzewo katalogów:
&lt;br&gt;
-&amp;gt; views
&lt;br&gt;
---&amp;gt; layouts
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - footer.php
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - head.php
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - nav.php
&lt;br&gt;
---&amp;gt; web
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - login.php
&lt;br&gt;

&lt;br&gt;
W pliku login.php chcę załaczyć pliki z katalogu layouts, wcześniej plik ten był na takiej głębokości jak folder layouts, wtedy wystarczyło zapisać to w ten sposób:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:php;&quot;&gt;
require('layouts/head.php')&lt;/pre&gt;



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

&lt;br&gt;
Myślałem, że wrzucając ten plik głębiej jedyne co będę musiał zrobić to najpierw wrócić się do katalogu nadrzędnego, czyli:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:php;&quot;&gt;
require('../layouts/head.php')&lt;/pre&gt;



&lt;p&gt;jednak to nie działa.
&lt;br&gt;

&lt;br&gt;
Może mi ktoś wskazać, gdzie robię błąd?
&lt;br&gt;

&lt;br&gt;
Pozdrawiam.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;EDIT:&amp;nbsp;
&lt;br&gt;
Znalazłem takie rozwiązanie:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:php;&quot;&gt;
require(dirname(__DIR__).'/layouts/head.php');  &lt;/pre&gt;



&lt;p&gt;Działa, jednak wolałbym bez takich udziwnień.&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
I mam kolejną prośbę, jakie wady i zalety posiada takie rozwiązanie?&lt;/p&gt;</description>
<category>PHP</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/365441/php-nie-zalacza-pliku-w-innym-pliku-require-include-zla-sciezka</guid>
<pubDate>Thu, 12 Jul 2018 18:48:53 +0000</pubDate>
</item>
<item>
<title>Tworzenie wszystkich folderów w ścieżce.</title>
<link>https://forum.pasja-informatyki.pl/323926/tworzenie-wszystkich-folderow-w-sciezce</link>
<description>Mam pewne durne pytanie. Jak stworzyć scieżkę do katalogu, np. %APPDATA%\\1\\2\\1\\3\\8\\1? Zawsze byłem pewien że jak stworzę plik przez fstream do nieistniejącego katalogu to fstream stworzy katalog, a tu okazuje się że jednak tak nie jest...</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/323926/tworzenie-wszystkich-folderow-w-sciezce</guid>
<pubDate>Sun, 04 Feb 2018 10:24:14 +0000</pubDate>
</item>
<item>
<title>Drzewo binarne, suma kluczy</title>
<link>https://forum.pasja-informatyki.pl/260198/drzewo-binarne-suma-kluczy</link>
<description>

&lt;p&gt;Witam! Nie najlepiej radzę sobie z programowaniem więc proszę o cierpliwość &lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;wink&quot;&gt;&lt;/p&gt;



&lt;p&gt;Mam za zadanie napisać funkcję, która znajdzie w drzewie ścieżkę o maksymalnej sumie kluczy i zwróci tę wartość jako wynik. Zostawiam moje nieudolne próby poniżej. Z góry dzięki!&lt;/p&gt;



&lt;pre class=&quot;brush:csharp;&quot;&gt;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;malloc.h&amp;gt;
#include &amp;lt;time.h&amp;gt;

typedef int ElType;

typedef struct Tree {
    ElType key;
    struct Tree *left;
    struct Tree *right;
} Tree;


Tree* InsertBST(Tree* t,int k)
{
    if (t == NULL) {
        Tree* w = (Tree*) malloc(sizeof(Tree));
        w-&amp;gt;key = k;
        w-&amp;gt;left = NULL;
        w-&amp;gt;right = NULL;
        return w;
    }

    if (k &amp;lt;= t-&amp;gt;key)
        t-&amp;gt;left = InsertBST(t-&amp;gt;left, k);
    else
        t-&amp;gt;right = InsertBST(t-&amp;gt;right, k);

    return t;
}

int NumberOfLeaves(Tree* t)
{
    if (t == NULL)
        return 0;

    if (t-&amp;gt;left == NULL &amp;amp;&amp;amp; t-&amp;gt;right == NULL)
        return 1;

    return NumberOfLeaves(t-&amp;gt;left) + NumberOfLeaves(t-&amp;gt;right);
}


#define SCREEN_HEIGHT  100
#define SCREEN_WIDTH    80

typedef struct {
    int numberOfLines;
    char screen[SCREEN_HEIGHT][SCREEN_WIDTH+2]; // 100 linii, ka¿da linia ma 80 znaków plus \n i \0
} TreeDisplay;

/*
#define DOWN                    179
#define RIGHT_DOWN              191
#define DOWN_LEFT_AND_RIGHT     193
#define LEFT_DOWN               218
#define DASH                    196
*/

#define DOWN                    '|'
#define RIGHT_DOWN              '.'
#define DOWN_LEFT_AND_RIGHT     '^'
#define LEFT_DOWN               '.'
#define DASH                    '-'

    /* To find code for special characters:
    for (i = 0; i &amp;lt; 256; i++) {
        printf(&quot;%d:%c,\t&quot;, i, i);
        if (i % 5 == 0 &amp;amp;&amp;amp; i &amp;gt; 0)
            printf(&quot;\n&quot;);
    }
    */

void WriteSymbolToTreeDisplay(TreeDisplay* td, char c, int row, int col)
{
    td-&amp;gt;screen[row][col] = c;

    if (row+1 &amp;gt; td-&amp;gt;numberOfLines)
        td-&amp;gt;numberOfLines = row+1;
}

void WriteKeyToTreeDisplay(TreeDisplay* td, int key, int row, int col)
{
    if (key &amp;gt;= 1000)
        td-&amp;gt;screen[row][col-1] = td-&amp;gt;screen[row][col] = td-&amp;gt;screen[row][col+1] = '.'; // za duza wartosc
    else if (key &amp;gt;= 100) {
        td-&amp;gt;screen[row][col-1] = (key / 100) + '0';
        td-&amp;gt;screen[row][col] = ((key / 10) % 10) + '0';
        td-&amp;gt;screen[row][col+1] = (key % 10) + '0';
    }
    else if (key &amp;gt;= 10) {
        td-&amp;gt;screen[row][col] = (key / 10) + '0';
        td-&amp;gt;screen[row][col+1] = (key % 10) + '0';
    }
    else if (key &amp;gt;= 0)
        td-&amp;gt;screen[row][col] = key + '0';
    else {
        td-&amp;gt;screen[row][col] = '-';
        td-&amp;gt;screen[row][col+1] = 'X';
    }

    if (row+1 &amp;gt; td-&amp;gt;numberOfLines)
        td-&amp;gt;numberOfLines = row+1;
}

int UpdateTreeDisplay(TreeDisplay* td, Tree* t, int depth, int left, int right)
// wypisz drzewo t do ekranu td w obszarze: pionowo od depth do SCREEN_HEIGHT, a poziomowo od left do right;
// funkcja zwraca pozimowa pozycje korzenia drzewa
{
    if (t == NULL)
        return -1;

    int left_width = NumberOfLeaves(t-&amp;gt;left);
    int right_width = NumberOfLeaves(t-&amp;gt;right);

    if (left_width + right_width == 0) {
        int middle = (left+right)/2;
        WriteKeyToTreeDisplay(td, t-&amp;gt;key, depth, middle);
        return middle;
    }

    if (left_width == 0) {
        int middle = UpdateTreeDisplay(td, t-&amp;gt;right, depth+2, left, right);
        WriteKeyToTreeDisplay(td, t-&amp;gt;key, depth, middle);
        WriteSymbolToTreeDisplay(td, DOWN, depth+1, middle);
        return middle;
    }

    if (right_width == 0) {
        int middle = UpdateTreeDisplay(td, t-&amp;gt;left, depth+2, left, right);
        WriteKeyToTreeDisplay(td, t-&amp;gt;key, depth, middle);
        WriteSymbolToTreeDisplay(td, DOWN, depth+1, middle);
        return middle;
    }

    int k = (right - left - 2) / (left_width + right_width);
    int l = UpdateTreeDisplay(td, t-&amp;gt;left, depth+2, left, left + left_width*k - 1);
    int r = UpdateTreeDisplay(td, t-&amp;gt;right, depth+2, left + left_width*k + 1, right-1);

    int middle = (l+r)/2;
    WriteKeyToTreeDisplay(td, t-&amp;gt;key, depth, middle);

    WriteSymbolToTreeDisplay(td, DOWN_LEFT_AND_RIGHT, depth+1, middle);
    WriteSymbolToTreeDisplay(td, LEFT_DOWN, depth+1, l);
    WriteSymbolToTreeDisplay(td, RIGHT_DOWN, depth+1, r);

    int i;
    for (i = l+1; i &amp;lt; middle; i++)
        WriteSymbolToTreeDisplay(td, DASH, depth+1, i);
    for (i = middle+1; i &amp;lt; r; i++)
        WriteSymbolToTreeDisplay(td, DASH, depth+1, i);

    return middle;
}

void DisplayTree(Tree* t)
{
    TreeDisplay TD;
    TD.numberOfLines = 0;
    int i, j;
    for (i = 0; i &amp;lt; SCREEN_HEIGHT; i++) {
        for (j = 0; j &amp;lt; SCREEN_WIDTH; j++)
            TD.screen[i][j] = ' '; // spacja
        TD.screen[i][SCREEN_WIDTH] = '\n';
        TD.screen[i][SCREEN_WIDTH+1] = '\0';
    }

    UpdateTreeDisplay(&amp;amp;TD, t, 0, 1, SCREEN_WIDTH - 1);

    for (i = 0; i &amp;lt; TD.numberOfLines; i++)
        printf(&quot;%s&quot;, TD.screen[i]);
    printf(&quot;\n&quot;);
}

int DisplayTrack(Tree* t, int k) /*Ta funkcja ma wyświetlać klucze na ścieżce od wierzchołka o danym kluczu do korzenia*/
{
    if (t == NULL) return NULL;
    if (t-&amp;gt;left == NULL &amp;amp;&amp;amp; t-&amp;gt;right==NULL);
    printf(&quot;%d, &quot;, t-&amp;gt;key);
    if (k &amp;lt; t-&amp;gt;key)
    {
        t-&amp;gt;left = DisplayTrack(t-&amp;gt;left, k);
        return t;
    }
    else if (k &amp;gt; t-&amp;gt;key)
    {
        t-&amp;gt;right = DisplayTrack(t-&amp;gt;right, k);
        return t;
    }
    else if (t-&amp;gt;left == NULL) {
        Tree* w = t-&amp;gt;right;
        free(t);
        return w;
    }
}

int Sciezka(Tree* t) /*Ta funkcja ma znajdować ścieżkę o maksymalnej sumie kluczy i zwracać te sumę*/
{
    int k;
    if(t == NULL)
    return 0;
    if(t-&amp;gt;left == NULL &amp;amp;&amp;amp; t-&amp;gt;right == NULL)
    return t-&amp;gt;key;
    if (k &amp;lt; t-&amp;gt;key)
    {
        t-&amp;gt;left = Sciezka(t-&amp;gt;left);
        return t-&amp;gt;key;
    }
    else if (k &amp;gt; t-&amp;gt;key)
    {
        t-&amp;gt;right = Sciezka(t-&amp;gt;right);
        return t-&amp;gt;key;
    }
}

int main()
{
    printf(&quot;____________________________________________________________________________\n&quot;);

    int i;
    srand (time(NULL));

    Tree* t = NULL;
    for (i = 0; i &amp;lt; 20; i++)
        t = InsertBST(t, rand() % 1000);

    DisplayTree(t);

    int x;
 do{
    printf(&quot;\n____________________________________________________________________________\n&quot;);
    printf(&quot;(1) Najwieksza suma kluczy\n&quot;);
    printf(&quot;(2) Wyswietl klucze na sciezce od wierzcholka o danym kluczu do korzenia\n&quot;);
    printf(&quot;(3) Konczy program\n&quot;);
    printf(&quot;Wybierz numer operacji ktora chcesz wykonac: &quot;);

    scanf(&quot;%d&quot;, &amp;amp;x);


        if(x==1)
        {
            
        };
        if(x==2)
        {
            ElType b;
            printf(&quot;Podaj klucz elementu: &quot;);
            scanf(&quot;%d&quot;, &amp;amp;b);

            printf(&quot;Sciezka: &quot;);
            t = DisplayTrack(t, b);
        }
        if(x==3)
        {
            printf(&quot;Zakonczono dzialanie programu\n&quot;);
            return ;
        }
    }while(x&amp;lt;4);
    return 0;
}&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/260198/drzewo-binarne-suma-kluczy</guid>
<pubDate>Wed, 07 Jun 2017 10:17:20 +0000</pubDate>
</item>
<item>
<title>Drzewo binarne</title>
<link>https://forum.pasja-informatyki.pl/246867/drzewo-binarne</link>
<description>

&lt;p&gt;Witam, mam problem ze stworzeniem funkcji która będzie wyświetlać klucze na ścieżce od wierzchołka o danym kluczu (który będę wprowadzać z klawiatury) aż do korzenia. Poniżej załączam kod. Z góry dziękuje za pomoc!&lt;/p&gt;



&lt;pre class=&quot;brush:csharp;&quot;&gt;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;time.h&amp;gt;

typedef int ElType;

typedef struct Tree {
    ElType key;
    struct Tree *left;
    struct Tree *right;
} Tree;

Tree* InsertBST(Tree* t, int k)
{
    if (t == NULL) {
        Tree* w = (Tree*) malloc(sizeof(Tree));
        w-&amp;gt;key = k;
        w-&amp;gt;left = NULL;
        w-&amp;gt;right = NULL;
        return w;
    }

    if (k &amp;lt;= t-&amp;gt;key)
        t-&amp;gt;left = InsertBST(t-&amp;gt;left, k);
    else
        t-&amp;gt;right = InsertBST(t-&amp;gt;right, k);

    return t;
}

int NumberOfLeaves(Tree* t)
{
    if (t == NULL)
        return 0;

    if (t-&amp;gt;left == NULL &amp;amp;&amp;amp; t-&amp;gt;right == NULL)
        return 1;

    return NumberOfLeaves(t-&amp;gt;left) + NumberOfLeaves(t-&amp;gt;right);
}

Tree* DeleteMaxOfBST(Tree* t, ElType *deleted_value)
{
    // zakladam, ze drzewo t jest nie puste,
    // ale na wszelki przypadek ...
    if (t == NULL) {
        *deleted_value = -1;
        return NULL;
    }

    if (t-&amp;gt;right == NULL) {
        *deleted_value = t-&amp;gt;key;
        Tree* w = t-&amp;gt;left;
        free(t);
        return w;
    }

    t-&amp;gt;right = DeleteMaxOfBST(t-&amp;gt;right, deleted_value);
    return t;
}

Tree* DeleteNodeOfBST(Tree* t, int k)
{
    if (t == NULL) return NULL;

    if (k &amp;lt; t-&amp;gt;key) {
        t-&amp;gt;left = DeleteNodeOfBST(t-&amp;gt;left, k);
        return t;
    }
    else if (k &amp;gt; t-&amp;gt;key) {
        t-&amp;gt;right = DeleteNodeOfBST(t-&amp;gt;right, k);
        return t;
    }
    else if (t-&amp;gt;left == NULL) {
        Tree* w = t-&amp;gt;right;
        free(t);
        return w;
    }
    else {
        ElType max_left;
        t-&amp;gt;left = DeleteMaxOfBST(t-&amp;gt;left, &amp;amp;max_left);
        t-&amp;gt;key = max_left;
        return t;
    }
}

#define SCREEN_HEIGHT  100
#define SCREEN_WIDTH    80

typedef struct {
    int numberOfLines;
    char screen[SCREEN_HEIGHT][SCREEN_WIDTH+2]; // 100 linii, ka¿da linia ma 80 znaków plus \n i \0
} TreeDisplay;

/*
#define DOWN                    179
#define RIGHT_DOWN              191
#define DOWN_LEFT_AND_RIGHT     193
#define LEFT_DOWN               218
#define DASH                    196
*/

#define DOWN                    '|'
#define RIGHT_DOWN              '.'
#define DOWN_LEFT_AND_RIGHT     '^'
#define LEFT_DOWN               '.'
#define DASH                    '-'

    /* To find code for special characters:
    for (i = 0; i &amp;lt; 256; i++) {
        printf(&quot;%d:%c,\t&quot;, i, i);
        if (i % 5 == 0 &amp;amp;&amp;amp; i &amp;gt; 0)
            printf(&quot;\n&quot;);
    }
    */

void WriteSymbolToTreeDisplay(TreeDisplay* td, char c, int row, int col)
{
    td-&amp;gt;screen[row][col] = c;

    if (row+1 &amp;gt; td-&amp;gt;numberOfLines)
        td-&amp;gt;numberOfLines = row+1;
}

void WriteKeyToTreeDisplay(TreeDisplay* td, int key, int row, int col)
{
    if (key &amp;gt;= 1000)
        td-&amp;gt;screen[row][col-1] = td-&amp;gt;screen[row][col] = td-&amp;gt;screen[row][col+1] = '.'; // za duza wartosc
    else if (key &amp;gt;= 100) {
        td-&amp;gt;screen[row][col-1] = (key / 100) + '0';
        td-&amp;gt;screen[row][col] = ((key / 10) % 10) + '0';
        td-&amp;gt;screen[row][col+1] = (key % 10) + '0';
    }
    else if (key &amp;gt;= 10) {
        td-&amp;gt;screen[row][col] = (key / 10) + '0';
        td-&amp;gt;screen[row][col+1] = (key % 10) + '0';
    }
    else if (key &amp;gt;= 0)
        td-&amp;gt;screen[row][col] = key + '0';
    else {
        td-&amp;gt;screen[row][col] = '-';
        td-&amp;gt;screen[row][col+1] = 'X';
    }

    if (row+1 &amp;gt; td-&amp;gt;numberOfLines)
        td-&amp;gt;numberOfLines = row+1;
}

int UpdateTreeDisplay(TreeDisplay* td, Tree* t, int depth, int left, int right)
// wypisz drzewo t do ekranu td w obszarze: pionowo od depth do SCREEN_HEIGHT, a poziomowo od left do right;
// funkcja zwraca pozimowa pozycje korzenia drzewa
{
    if (t == NULL)
        return -1;

    int left_width = NumberOfLeaves(t-&amp;gt;left);
    int right_width = NumberOfLeaves(t-&amp;gt;right);

    if (left_width + right_width == 0) {
        int middle = (left+right)/2;
        WriteKeyToTreeDisplay(td, t-&amp;gt;key, depth, middle);
        return middle;
    }

    if (left_width == 0) {
        int middle = UpdateTreeDisplay(td, t-&amp;gt;right, depth+2, left, right);
        WriteKeyToTreeDisplay(td, t-&amp;gt;key, depth, middle);
        WriteSymbolToTreeDisplay(td, DOWN, depth+1, middle);
        return middle;
    }

    if (right_width == 0) {
        int middle = UpdateTreeDisplay(td, t-&amp;gt;left, depth+2, left, right);
        WriteKeyToTreeDisplay(td, t-&amp;gt;key, depth, middle);
        WriteSymbolToTreeDisplay(td, DOWN, depth+1, middle);
        return middle;
    }

    int k = (right - left - 2) / (left_width + right_width);
    int l = UpdateTreeDisplay(td, t-&amp;gt;left, depth+2, left, left + left_width*k - 1);
    int r = UpdateTreeDisplay(td, t-&amp;gt;right, depth+2, left + left_width*k + 1, right-1);

    int middle = (l+r)/2;
    WriteKeyToTreeDisplay(td, t-&amp;gt;key, depth, middle);

    WriteSymbolToTreeDisplay(td, DOWN_LEFT_AND_RIGHT, depth+1, middle);
    WriteSymbolToTreeDisplay(td, LEFT_DOWN, depth+1, l);
    WriteSymbolToTreeDisplay(td, RIGHT_DOWN, depth+1, r);

    int i;
    for (i = l+1; i &amp;lt; middle; i++)
        WriteSymbolToTreeDisplay(td, DASH, depth+1, i);
    for (i = middle+1; i &amp;lt; r; i++)
        WriteSymbolToTreeDisplay(td, DASH, depth+1, i);

    return middle;
}

void DisplayTree(Tree* t)
{
    TreeDisplay TD;
    TD.numberOfLines = 0;
    int i, j;
    for (i = 0; i &amp;lt; SCREEN_HEIGHT; i++) {
        for (j = 0; j &amp;lt; SCREEN_WIDTH; j++)
            TD.screen[i][j] = ' '; // spacja
        TD.screen[i][SCREEN_WIDTH] = '\n';
        TD.screen[i][SCREEN_WIDTH+1] = '\0';
    }

    UpdateTreeDisplay(&amp;amp;TD, t, 0, 1, SCREEN_WIDTH - 1);

    for (i = 0; i &amp;lt; TD.numberOfLines; i++)
        printf(&quot;%s&quot;, TD.screen[i]);
    printf(&quot;\n&quot;);
}

void DisplayTrack(Tree* t, int k) /*Ta funkcja ma wyświetlać klucze na ścieżce od wierzchołka o danym kluczu do korzenia*/
{
    if (t == NULL) return NULL;
    if (t-&amp;gt;left==NULL &amp;amp;&amp;amp; t-&amp;gt;right==NULL)
    printf(&quot;%d&quot;, t-&amp;gt;key)

}


int main()
{

    int i;
    srand (time(NULL));

    Tree* t = NULL;
    for (i = 0; i &amp;lt; 20; i++)
        t = InsertBST(t, rand() % 1000);

    DisplayTree(t);

    int x;
    printf(&quot;(1) Usun dany klucz\n&quot;);
    printf(&quot;(2) Wyświetl klucze na ścieżce od wierzchołka o danym kluczu do korzenia\n&quot;);
    printf(&quot;(3) Konczy program&quot;)
    printf(&quot;Wybierz numer operacji ktora chcesz wykonac: \n&quot;);

    scanf(&quot;%d&quot;, &amp;amp;x);

    if(x==1)
    {
        ElType a;
        printf(&quot;Podaj klucz elementu do usuniecia: &quot;);
        scanf(&quot;%d&quot;, &amp;amp;a);

        if (a == -1)
            return;

        t = DeleteNodeOfBST(t, a);

        printf(&quot;Po usunieciu %d:\n&quot;, a);
        DisplayTree(t);
    };
    if(x==2)
    {
        
    }

    return 0;
}&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/246867/drzewo-binarne</guid>
<pubDate>Sat, 22 Apr 2017 12:32:22 +0000</pubDate>
</item>
<item>
<title>Upload zdjęcia - ścieżka</title>
<link>https://forum.pasja-informatyki.pl/197980/upload-zdjecia-sciezka</link>
<description>

&lt;p&gt;Witam, wrzucam sobie na serwer zdjęcia.&amp;nbsp;Mam coś takiego:&lt;/p&gt;



&lt;pre class=&quot;brush:php;&quot;&gt;
$adres = &quot;zdjecia/avatary&quot;;
$adres = $adres . basename($_FILES[&quot;zdjecie&quot;][&quot;name&quot;]);&lt;/pre&gt;



&lt;p&gt;// reszta kodu&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Wszystko dobrze działa oprócz tego, że wszystkie zdjęcia zapisują się w folderze: &quot;zdjęcia&quot; zamiast w folderze &quot;avatary&quot;, a dodatkowo dopisuje właśnie to &quot;avatary&quot; do nazwy pliku.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Jak rozwiąząc ten problem?&lt;/p&gt;</description>
<category>PHP</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/197980/upload-zdjecia-sciezka</guid>
<pubDate>Thu, 17 Nov 2016 19:45:26 +0000</pubDate>
</item>
</channel>
</rss>