» »

C++ Naloge

C++ Naloge

cRASH_100 ::

1.Napiši funkcijo z imenom bubblesort(), ki sprejme polje števil, vrne pa sortirano polje. Uporabi algoritem mehurčnega sortiranja.

2.Napiši funkcijo selectionsort (int polje[], int n), ki elemente v polju razvrsti po metodi izbora in sicer od najmanjše do največje vrednosti.

Pri tem je:
- int polje[]: polje elementov
- int n: število elementov v polju

3.Napiši program, ki generira sedem naključnih številk za loto (1 do 39). Generirane številke se ne smejo ponavljati. Številke nato po poljubni metodi sortiraj od najmanjše do največje.

4.Napiši program, ki v tabelo velikost 1000 vpiše naključna cela števila med 1 in 100. Nato z zaporednim iskanjem poišči kolikokrat se v tabeli pojavi število 99.

5.Napiši program, ki zgenerira 30 naključnih črk angleške abecede. Nato vnesi besedo in ugotovi ali je vpisano besedo mogoče najti med kombinacijo generiranih črk.

Primer:
črke: g i e w r t a b h v w o t g b x s o g ...
beseda: avto

Iz primera je razvidno, da se beseda avto nahaja z nizu generiranih črk, ker je za a-jem v, za v-jem t itn.

Prosim vas da mi naredite naloge, ker jaz nevem...Če ne naredim bom dobil NMS....PROSIM VAS..

Ktj ::

Tudi, če ti kdo reši sledeče probleme ti jih še vedno neboš zastopil. Kot smo že n + 1 rekli naredi vsaj tisto kar razumeš, dalje ti bomo pa pomagali.

P.S. Uporaba googla močno olajša prosjačnje po forumih.

LP

Tutankhamun ::

Vse naloge razn 5. sm že napisu na slo-techu mal preglej.
AMD Phenom QUAD 9950 Black Edition, 8GB

smoke ::

Pa dobro no.. recimo da ti nekdo reši vse te naloge. Kaj pa ko bo prišlo naslednje ocenjevanje? Boš spet prišel na forum prosit za rešitev? Ti programi so RES lahki.. lažji skoraj nebi mogli biti. Probaj prvo sam potem ti bomo pa mi pomagali.

urosz ::

jao vsaj 2 na teden prideta ki hočeta da jima nekdo vse naloge reši

roba87 ::

/*Napiši funkcijo z imenom bubblesort(), ki sprejme polje števil, vrne pa sortirano polje. 
Uporabi algoritem mehurčnega sortiranja. */

#include <iostream>
#include <time.h>


using namespace std;

int velikost = 10;

void zamenjaj (int& prvi, int& drugi)
{
     int temp = prvi;
     prvi = drugi;
     drugi = temp;
}

void vpis (int polje[])
{
    for (int i=0; i<velikost; i++)
    {
        polje[i] = (rand()% velikost);
        cout <<  polje[i] << " " ;
    }
    cout << endl;
}

int bubblesort (int polje[])
{
    for (int prehod=0; prehod<velikost-1; prehod++)
    {
        for (int i=0; i<velikost-1; i++)
        {
            if (polje[i] > polje[i+1])
            {
               zamenjaj(polje[i],polje[i+1]);
            }
        }
    }
}

void izpis (int polje[])
{
     for (int i=0; i<velikost; i++)
     {
         cout << polje[i] << " ";
     }
}

int main ()
{
    srand((unsigned)time(0));
    int polje[velikost];
    vpis(polje);
    bubblesort(polje);
    izpis(polje);
    
    system("pause");
    return 0;
}


Sam sem še začetnik, tako da če bi lahko kaj boljše naredil naj me kdo popravi.

Zgodovina sprememb…

  • spremenil: roba87 ()

BigWhale ::

Najbolj epic je bil tisti, ki je skeniral liste z nalogami in sem nalimal scane. :>

roba87 ::

/*
2.Napiši funkcijo selectionsort (int polje[], int n), ki elemente v polju razvrsti po metodi izbora in sicer od 
najmanjše do največje vrednosti.

Pri tem je:
- int polje[]: polje elementov
- int n: število elementov v polju 
*/

#include <iostream>
#include <time.h>

using namespace std;

void zamenjaj (int& prvi, int& drugi)
{
	int temp = prvi;
		prvi = drugi;
		drugi = temp;
}

void vpis (int polje[], int n)
{
	for (int i=0; i<n; i++)
	{
		polje[i] = rand()%n;
		cout << polje[i] << " ";
	}
	cout << endl;
}

void selectionsort(int polje[], int n)
{
	for (int prehod=0; prehod<n-1; prehod++)
	{
		int pot_min = prehod;
	
	for (int i=prehod+1; i<n; i++)
	{
		if (polje[i]<polje[pot_min])
		{
			pot_min = i;
		}
	}
	zamenjaj(polje[prehod], polje[pot_min]);
	}
}

void izpis (int polje[], int n)
{
	for (int i=0; i<n; i++)
	{
		cout << polje[i]<< " ";
	}
}

int main()
{
       srand((unsigned)time(0)); 
	const int n = 10;
	int polje[n];
	vpis(polje,n);
	selectionsort(polje,n);
	izpis(polje,n);
	return 0;
}

Zgodovina sprememb…

  • spremenil: roba87 ()

win64 ::

int jeNoter(const char * niz, const char * iskalniNiz)
{
	while(niz)
	{
		if(!iskalniNiz)
			return 1;
		if(*niz == *iskalniNiz)
			iskalniNiz++;
		niz++;
	}
	return 0;
}

ah k sem ravno na volji se te usmilim
2 hrošča sta noter, ki ti jih prepustim tvojemu znanju, gre pa za napako pri preverjanju, če smo na koncu niza

Zgodovina sprememb…

  • spremenil: win64 ()

Tutankhamun ::

5. naloga
int find(string fromMix, string findWhat)
{
	size_t found;
	
	for(int i = 0; i < findWhat.size(); i++)
	{
		found = fromMix.find(findWhat[i]);
		if (found == string::npos)
			return -1;
		else
			fromMix[found] = ' ';
	}
	
	return 0;
}

int main(int argc, char* argv[])
{
	string strMix = "giewrtabhvwotgbxsog";
	string strFind = "avto";

	int ret = find(strMix, strFind);

	cout << "word " << strFind << " was found in " << strMix << endl;

	return 0;
}
AMD Phenom QUAD 9950 Black Edition, 8GB

Zgodovina sprememb…

gogi_hunter ::

mi lahko negdo dokonča program ! O_o

Napiši program, ki zgenerira 30 naključnih črk angleške abecede. Nato vnesi besedo in ugotovi ali je vpisano besedo mogoče najti med kombinacijo generiranih črk.

Primer:
črke: g i e w r t a b h v w o t g b x s o g ...
beseda: avto

Iz primera je razvidno, da se beseda avto nahaja z nizu generiranih črk, ker je za a-jem v, za v-jem t itn.
#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
	srand(time(NULL));
	char niz[30], beseda[30];
	for(int i=0; i<30; i++)
	{
		niz[i] = rand()%26+97;
		cout << niz[i] << " ";
	}
	cout << endl;
	cout << "Vnesi besedo: ";
	cin.getline(beseda, 30);
	
cout << endl;

return 0;	
}

win64 ::

Še en post gor se ti ne da pogledat?

gogi_hunter ::

Še en post gor se ti ne da pogledat?

rabim brez kazalcev

win64 ::

Škoda besed....

Tutankhamun ::

sej sm ti napisu js brez kazalcev. Dej mal glej kaj ti pišemo! Takoj nad tabo.
AMD Phenom QUAD 9950 Black Edition, 8GB

ERGY ::

Še en post gor se ti ne da pogledat?

rabim brez kazalcev


A je že druga runda :D Katastrofa kaj se dogaja tu gor :)) Sicer pa kazalec že kaže na prvo mesto v polju, če le nisi opazil. Gre se za konstantni kazalec.

roba87 ::

/*
Napiši program, ki generira sedem naključnih številk za loto (1 do 39). 
Generirane številke se ne smejo ponavljati. Številke nato po poljubni metodi sortiraj od najmanjše do največje.
*/

#include <iostream>
#include <time.h>
#include <stdlib.h>

using namespace std;

const int velikost = 7;

void zamenjaj (int& prvi, int& drugi)
{
	int temp = prvi;
		prvi = drugi;
		drugi = temp;
}

void vpis(int polje[])
{
	for (int i=0; i<velikost; i++)
	{
		polje[i] = rand()%39+1;
	}
}

void uredi (int polje[])
{
	for (int prehod=0; prehod<velikost; prehod++)
	{
		for (int i=0; i<velikost-1; i++)
		{
			if (polje[i]>polje[i+1])
			{
				zamenjaj (polje[i],polje[i+1]);
			}
			if (polje[i] == polje[i+1])
			{
				polje[i] = rand()%39+1;
			}
			
		}
	}
}
			
void izpis(int polje[])
{
	for (int i=0; i<velikost; i++)
	{
	cout << polje[i] << " ";
	}
}

int main ()
{
	srand((unsigned int)time(0));
	int polje[velikost];
	vpis(polje);
	uredi(polje);
	cout <<"Stevila za loto listek so : ";
	izpis(polje);
	cout << endl;
	return 0;
}

ERGY ::

/*
Napiši program, ki generira sedem naključnih številk za loto (1 do 39). 
Generirane številke se ne smejo ponavljati. Številke nato po poljubni metodi sortiraj od najmanjše do največje.
*/

#include <iostream>
#include <time.h>
#include <stdlib.h>

using namespace std;

const int velikost = 7;

void zamenjaj (int& prvi, int& drugi)
{
	int temp = prvi;
		prvi = drugi;
		drugi = temp;
}

void vpis(int polje[])
{
	for (int i=0; i<velikost; i++)
	{
		polje[i] = rand()%39+1;
	}
}

void uredi (int polje[])
{
	for (int prehod=0; prehod<velikost; prehod++)
	{
		for (int i=0; i<velikost-1; i++)
		{
			if (polje[i]>polje[i+1])
			{
				zamenjaj (polje[i],polje[i+1]);
			}
			if (polje[i] == polje[i+1])
			{
				polje[i] = rand()%39+1;
			}
			
		}
	}
}
			
void izpis(int polje[])
{
	for (int i=0; i<velikost; i++)
	{
	cout << polje[i] << " ";
	}
}

int main ()
{
	srand((unsigned int)time(0));
	int polje[velikost];
	vpis(polje);
	uredi(polje);
	cout <<"Stevila za loto listek so : ";
	izpis(polje);
	cout << endl;
	return 0;
}



zamenjaj -> std::swap() //tega niti ne rabiš če uporablaš std::sort()
uredi -> std::sort()
Glede pogoja, da se število ne sme ponavljat. Ga izpolniš že v vpisu.

Pa si zmagal.

Zgodovina sprememb…

  • spremenilo: ERGY ()

roba87 ::

hm... sem probal nekaj pobrskat in sem naredil takole :

#include <iostream>
#include <algorithm>
#include <time.h>
#include <stdlib.h>

using namespace std;

const int velikost = 7;


void vpis(int polje[])
{
	for (int i=0; i<velikost; i++)
	{
		polje[i] = rand()% 39+1;
	}
}
void uredi (int polje[])
{
	for (int i=0; i<velikost; i++)
	{
		if (polje[i] == polje[i+1])
		{
			polje[i] = rand()%39+1;
		}
	}
}

int main()
{
	int polje[velikost];
	srand((unsigned int)time(0));
	vpis(polje);
	const int n = sizeof(polje) / sizeof(int);
	sort(polje, polje + n);
	uredi(polje);
	copy(polje, polje + n, ostream_iterator<int>(cout, " "));
	return 0;
}

ERGY ::

Recimo ...

/*
Napiši program, ki generira sedem naključnih številk za loto (1 do 39).
Generirane številke se ne smejo ponavljati.
Številke nato po poljubni metodi sortiraj od najmanjše do največje.
*/

#include <iostream>


const unsigned velikost = 7;

bool istoStevilo(const int polje[], const int& st, const unsigned& vel)
{
    for(unsigned i = 0; i < vel; i++)
        if(polje[i] == st)
            return true;
    return false;
}

void vpis(int polje[])
{
    int randNumber = 0;
	for (unsigned i = 0; i < velikost; i++)
	{
	    do
	    {
	        randNumber = rand()%39+1;
	    }while(istoStevilo(polje, randNumber, i));
	    //vpis
	    polje[i] = randNumber;
	}
}

void izpis(const int polje[])
{
	for (unsigned i = 0; i < velikost; i++)
	{
	std::cout << polje[i] << " ";
	}
	std::cout << "\n";
}

int main()
{
	srand((unsigned)time(0));
	int polje[velikost];
	vpis(polje);
	std::sort(polje, polje + velikost);
	std::cout << "Stevila za loto listek so : ";
	izpis(polje);
	return 0;
}

Zgodovina sprememb…

  • spremenilo: ERGY ()

roba87 ::

Super, hvala. Eno vprašanje. Zakaj pri mojem programu (tej sort() verziji) včasih ne razvrsti enega števila po vrsti ostalih 6 pa. Recimo, vsakič n-krat mi "pozabi" 1 število sortirat z drugimi, medtem je ostali 6 sortiranih normalno...

Zgodovina sprememb…

  • spremenil: roba87 ()

ERGY ::

Super, hvala. Eno vprašanje. Zakaj pri mojem programu (tej sort() verziji) včasih ne razvrsti enega števila po vrsti ostalih 6 pa. Recimo, vsakič n-krat mi "pozabi" 1 število sortirat z drugimi, medtem je ostali 6 sortiranih normalno...


Zadnja operacija naj bo sortiranje. Ti sicer soritaš prej pa potem urejaš. Ampak raje kar preverjaj sproti kaj je v polju potem pa samo urediš.
Tista ena številka, ki ni sortirana pravilno je na račun tvojega algoritma uredi, ki se pojavi za sortiranje [:)] Zato ti pravim, da se loti sortiranja na koncu.

konkretno
if (polje[i] == polje[i+1]){  polje[i] = rand()%39+1;  }



Zakaj je potrebno tole, itak imaš že velikost ?
const int n = sizeof(polje) / sizeof(int);

Zgodovina sprememb…

  • spremenilo: ERGY ()

roba87 ::

aja seveda. Ker isto tisto cifro zamenjam in potem polje ni urejeno. To se popravil da sem še dal enkrat sort().

popravil :

int main()
{
	int polje[velikost];
	srand((unsigned int)time(0));
	vpis(polje);
	sort(polje, polje + velikost);
	uredi(polje);
	sort(polje, polje + velikost);
	copy(polje, polje + velikost, ostream_iterator<int>(cout, " "));
	return 0;
}

ERGY ::

aja seveda. Ker isto tisto cifro zamenjam in potem polje ni urejeno. To se popravil da sem še dal enkrat sort().

popravil :

int main()
{
	int polje[velikost];
	srand((unsigned int)time(0));
	vpis(polje);
	sort(polje, polje + velikost);
	uredi(polje);
	sort(polje, polje + velikost);
	copy(polje, polje + velikost, ostream_iterator<int>(cout, " "));
	return 0;
}


Ne rabiš podvajat. Vnesi števila, sproti preverjaj kaj je že notri. Ko končaš uredi polje. Izpiši. Konec.

Tutankhamun ::

Pa še js sm se neki loto igrov :P, niso neki najlepši rezultati, preveč se ponavla, ampak sam tko za foro :)
int main(int argc, char* argv[])
{
	srand((unsigned int)time(0));

	const int maxNumber = 39;

	int currentNumber = 0;
	int numbersToCollect = 7;

	int randNumber;

	while(numbersToCollect--)
	{
		randNumber = rand() % (maxNumber - currentNumber - numbersToCollect) + 1;
		currentNumber += randNumber;
		cout << currentNumber << " ";
	} 

	cout << endl;

	return 0;
}
AMD Phenom QUAD 9950 Black Edition, 8GB

Zgodovina sprememb…

roba87 ::

Pa še js sm se neki loto igrov :P, niso neki najlepši rezultati, preveč se ponavla, ampak sam tko za foro :)
int main(int argc, char* argv[])
{
	srand((unsigned int)time(0));

	const int maxNumber = 39;

	int currentNumber = 0;
	int numbersToCollect = 7;

	int randNumber;

	while(numbersToCollect--)
	{
		randNumber = rand() % (maxNumber - currentNumber - numbersToCollect) + 1;
		currentNumber += randNumber;
		cout << currentNumber << " ";
	} 

	cout << endl;

	return 0;
}



Si pa nesporni zmagovalec v velikosti kode :D

roba87 ::

še 4.naloga :D

/*
Napiši program, ki v tabelo velikost 1000 vpiše naključna cela števila med 1 in 100. 
Nato z zaporednim iskanjem poišči kolikokrat se v tabeli pojavi število 99
*/

#include <iostream>
#include <time.h>
using namespace std;

const int velikost = 1000;

void tabela (int polje[])
{
	for (int i=0; i<velikost; i++)
	{
		polje[i] = rand()%100+1;
	}
}

void uredi (int polje[])
{
	int st = 0;
	for (int i=0; i<velikost; i++)
	{
		cout << polje[i] << " " ;
		if (polje[i] == 99)
		{
			st = st+1;
		}
	}
	cout << endl;
	cout << endl;
	cout << "stevill 99 v polju je = " << st << endl;	
}

int main(int argc, char* argv[])
{
	srand((unsigned int)time(0));
	int polje[velikost];
	tabela(polje);
	uredi(polje);
	return 0;
}

ERGY ::

še 4.naloga :D

/*
Napiši program, ki v tabelo velikost 1000 vpiše naključna cela števila med 1 in 100. 
Nato z zaporednim iskanjem poišči kolikokrat se v tabeli pojavi število 99
*/

#include <iostream>
#include <time.h>
using namespace std;

const int velikost = 1000;

void tabela (int polje[])
{
	for (int i=0; i<velikost; i++)
	{
		polje[i] = rand()%100+1;
	}
}

void uredi (int polje[])
{
	int st = 0;
	for (int i=0; i<velikost; i++)
	{
		cout << polje[i] << " " ;
		if (polje[i] == 99)
		{
			st = st+1;
		}
	}
	cout << endl;
	cout << endl;
	cout << "stevill 99 v polju je = " << st << endl;	
}

int main(int argc, char* argv[])
{
	srand((unsigned int)time(0));
	int polje[velikost];
	tabela(polje);
	uredi(polje);
	return 0;
}




Če tak rabiš samo fiksno cifro gledat 99. To narediš ob vpisu ane. Se znebiš vsega ostalega.

ERGY ::

/*
Napiši program, ki v tabelo velikost 1000 vpiše naključna cela števila med 1 in 100.
Nato z zaporednim iskanjem poišči kolikokrat se v tabeli pojavi število 99
*/

#include <iostream>
#include <vector>

struct Shramba
{
    std::vector<int> stevila;
    unsigned ponovitev;

    Shramba():ponovitev(0){}
};


void napolni(Shramba& s)
{
    unsigned i = 0; //counter
    int st = 0;     //naklj. stev.

	while(i++ < 1000)
	{
	    st = rand() % 100 + 1;
	    if( st == 99)
            s.ponovitev++;
	    s.stevila.push_back(st);
	};
}

void statistika(const Shramba& s)
{
    std::cout << "ponovitev : " << s.ponovitev << "\n";
}

int main(int argc, char* argv[])
{
	srand((unsigned int)time(0));
	Shramba s;
	napolni(s);
	statistika(s);
	return 0;
}

win64 ::

Še en post gor se ti ne da pogledat?

rabim brez kazalcev


A je že druga runda :D Katastrofa kaj se dogaja tu gor :)) Sicer pa kazalec že kaže na prvo mesto v polju, če le nisi opazil. Gre se za konstantni kazalec.


const char * pomeni da je kazalec na char in vrednosti na tem naslovu se ne sme spreminjat, kazalec sam lahko spreminjaš
nevem, če si to mislil..

Sicer vam ne bi rad polnil glave, ampak to ni po standardu:
struct Shramba 
{     
std::vector<int> stevila;     
unsigned ponovitev;  
    
Shramba():ponovitev(0){} 
}; 

Vrstica Shramba():ponovitev(0){} ni v redu
To bi bilo v redu:
Shramba():stevila(std::vector<int>()),ponovitev(0){}, 
ampak bi prišlo do dvojne inicializacije zato je boljše napisat ponovitev = 0 v sam konstruktor.

In kot drugo je ta razred brezpredmeten. Bi bilo dovolj, da funkcija uredi sprejme seznam števil in vrača število ponovitev 99.

Zgodovina sprememb…

  • spremenil: win64 ()

ERGY ::

Še en post gor se ti ne da pogledat?

rabim brez kazalcev


A je že druga runda :D Katastrofa kaj se dogaja tu gor :)) Sicer pa kazalec že kaže na prvo mesto v polju, če le nisi opazil. Gre se za konstantni kazalec.


const char * pomeni da je kazalec na char in vrednosti na tem naslovu se ne sme spreminjat, kazalec sam lahko spreminjaš
nevem, če si to mislil..

Sicer vam ne bi rad polnil glave, ampak to ni po standardu:
struct Shramba 
{     
std::vector<int> stevila;     
unsigned ponovitev;  
    
Shramba():ponovitev(0){} 
}; 

Vrstica Shramba():ponovitev(0){} ni v redu
To bi bilo v redu:
Shramba():stevila(std::vector<int>()),ponovitev(0){}, 
ampak bi prišlo do dvojne inicializacije zato je boljše napisat ponovitev = 0 v sam konstruktor.

In kot drugo je ta razred brezpredmeten. Bi bilo dovolj, da funkcija uredi sprejme seznam števil in vrača število ponovitev 99.


1. Ne nisem to mislil.
2. Si že ugotovil kaj ne gre.
3. Lahko napišeš svojo rešitev, če ti ta ne zgleda dobro.

bigbada ::

Napišite program, ki izriše robove 3D kocke. Z zvezdico narišite vidne robove, za nevidne robove pa uporabite kak drug znak.
zna kdo?

Zgodovina sprememb…

  • spremenilo: bigbada ()

win64 ::

Nisem rekel da se zadeva ne bi prevedla ali celo delovala, napisal sem da ni po standardu! Samo kdo še danes to gleda...
In kot drugo sem ti dal konstruktiven nasvet, ali ga sprejmeš ali ne je prav tvoj problem.

ERGY ::

Nisem rekel da se zadeva ne bi prevedla ali celo delovala, napisal sem da ni po standardu! Samo kdo še danes to gleda...
In kot drugo sem ti dal konstruktiven nasvet, ali ga sprejmeš ali ne je prav tvoj problem.


Saj v tem stilu je tudi napisano. Nisem mislil, da si kaj narobe povedal, samo sem želel povedat, da napiši svojo verzijo kako bi naj zgledalo pa da vidimo ostali.

Lp

win64 ::

struct Shramba
{
    std::vector<int> stevila;
    unsigned ponovitev;

    Shramba():stevila(std::vector<int>()),ponovitev(0){} // to ali
    Shramba(){ponovitev=0;}                             // ali
};


Gre predvsem zato ta v inicalizaciji(to je tisti del za "Shramba():") ne gre poljubmo menjavat vrstni red lastnosti razreda. Nekateri prevajalniki ti bi v tvojem primeru celo zapisali 0 na lokacijo kjer bi moral biti vector stevila. To je po standardu in večino ljudji tega ne nikdar opazi ampak je vredno vedeti.

To bi bilo brez razreda shramba:
int napolni(std::vector<int>& s)
{
    unsigned i = 0; //counter
    int st = 0;     //naklj. stev.
    int st2 = 0;

	while(i++ < 1000)
	{
	    st = rand() % 100 + 1;
	    if( st == 99)
            st2++;
	    s.push_back(st);
	};
return st2;
}

ERGY ::

struct Shramba
{
    std::vector<int> stevila;
    unsigned ponovitev;

    Shramba():stevila(std::vector<int>()),ponovitev(0){} // to ali
    Shramba(){ponovitev=0;}                             // ali
};


Gre predvsem zato ta v inicalizaciji(to je tisti del za "Shramba():") ne gre poljubmo menjavat vrstni red lastnosti razreda. Nekateri prevajalniki ti bi v tvojem primeru celo zapisali 0 na lokacijo kjer bi moral biti vector stevila. To je po standardu in večino ljudji tega ne nikdar opazi ampak je vredno vedeti.

To bi bilo brez razreda shramba:
int napolni(std::vector<int>& s)
{
    unsigned i = 0; //counter
    int st = 0;     //naklj. stev.
    int st2 = 0;

	while(i++ < 1000)
	{
	    st = rand() % 100 + 1;
	    if( st == 99)
            st2++;
	    s.push_back(st);
	};
return st2;
}


Bom upošteval glede prvega. To drugo brez razreda pa mi je čisto sfaljeno. Ti vrneš vrednosti ponovitev. Če le to rabiš večkrat vračat že ne moreš tega naredit, ker boš spremenil število teh ponovitev, če pa vrneš že prvič pa vseeno moraš shranit v neko spremenljivko, kar je spet potrata to vlačit po kodi.

Lp

BigWhale ::

Napišite program, ki izriše robove 3D kocke. Z zvezdico narišite vidne robove, za nevidne robove pa uporabite kak drug znak.
zna kdo?


Jaz znam!

GhostMB ::

jaz bi prosil, če mi lahko kdo pomaga pri tej nalogi...

Predpostavimo, da je A[1..n] polje n različnih celih števil in da so števila urejena, tako da velja
A[0] < A[1] < A[2] < .. < A[n].
Vsako število je lahko negativno, pozitivno ali 0.

1) Napiši funkcijo isci(), ki v podanem polju poišče in vrne (prvo) število i , da velja A[i] == i, ali vrne -1, če števila ni; funkcija naj ima časovno zahtevnost O( n ).

2) Napiši funkcijo isci_hitro(), ki v podanem polju poišče in vrne (prvo) število i, da velja A[i]==i, ali vrne -1, če števila ni; funkcija mora imeti manjšo časovno zahtevnost kot isci().

3) Če predpostavimo, da so v polju A zgolj nenegativna števila (A[i]>=0), zapiši funkcijo isci_se_hitreje(), ki vrne prvo število i, da velja A[i]==i, ali pa -1

prosim za pomoč

BigWhale ::

Koliko si pa ze sam naredil?

boogie_xlr ::

in še namig: 3. je zelo preprosta :))


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C++] Naloge

Oddelek: Programiranje
274068 (2399) LordiBoy
»

[C] Funkcija vrnitev kazalca

Oddelek: Programiranje
101194 (910) MrStein
»

C++ program

Oddelek: Programiranje
171280 (1075) klmen
»

c++ naloge

Oddelek: Programiranje
92868 (2492) l0g1t3ch
»

Zna kdo rešiti nalogo v C ++ ?

Oddelek: Programiranje
121572 (1428) OwcA

Več podobnih tem