ramzex sri 8.5.2019 15:15

Pozdrav ljudi potrebna mi je pomoc oko dva zadataka za faxa..Ja sam jos pocetnik i ucim pa ih ne znam rijesiti..Ako moze neka pomoc..

 

1.Definisan je prototip funkcije: Cvor *izostavi(Cvor *glava,int k); i definisana je struktura cvor i novi(korisnicki)tip podatka Cvor:

 

typedef struct cvor

{

   int info;

   struct cvor  *sledeca;

}Cvor;

 

Napisati funkciju ciji je prototip definisan tako da ona iz jednostruko ulancane liste na ciji prvi element u listi pokazuje Cvor *glava izbaci iz liste samo prvi element(cvor)koji kao vrijednost u polju strukture int info ima vrijednost int k ukoliko takav cvor postoji.

Ukoliko takav cvor ne postoji prikazati odgovarajucu poruku.

 

2.Definisano je:

 

typedef struct takmicar

{

   char pr_ime[31];

   int br_takmicara;

}Takmicar;

 

i definisan je prototip funkcije void sort(Takmicar **niz,int n);

gdje int n predstavlja broj elemenata niza *niz ciji je svaki element pokazivac na tip Takmicar.Napisati funckiju na osnovu definisanog prototipa koja ce izvrsiti sortiranje elemenata niza tako da dobijemo niz ciji elementi su sortirani po polju pr_ime obrnuto od abecednog reda engleske abecede(z-a).Smatrati da su polja u svakom elementu niza napisana malim slovima engleske abecede.

 

Ako moze neko da uradi ili ako imaju negdje primjeri ovakvih zadataka da mi ostavi linkove pa da vidim(naucim)kako se rade..Potrebno mi je za ispita.

Hvala unaprijed.

Groyper uto 28.5.2019 18:26

Za prvi zadatak trebaš znati kako traverzirati po povezanoj listi, imaš dosta materijala na YouTube. Primjer: link

Funkcija bi ti izgledala nekako ovako, ali vjerojatno se može i elegantnije:

Cvor* izostavi(Cvor* glava, int k) {

// provjeri glavu
if (glava->info == k)
{
Cvor* temp = glava;
glava = glava->sledeca;
delete temp;
return glava;
}
// nije glava
Cvor* p = glava;
while (p->sledeca != nullptr)
{
// nasli smo k
if (p->sledeca->info == k)
{
Cvor* temp = p->sledeca;
p->sledeca = p->sledeca->sledeca;
delete temp;
return p;
}
//sljedeci cvor nije == k
else {
p = p->sledeca;
}
}
std::cout << "Trazeni cvor nije naden" << std::endl;
return glava;
}

madagaskar123 sub 22.6.2019 13:01

Da li netko može ovo riješiti?

 

 

  1. 1. Kreirati dvodimenzionalno cjelobrojno polje koje predstavlja pravokutnu matricu i omogućiti korisniku unos dimenzije tako da je n x m (4<= n <= 10 i 5 <=m<=  13).

Popuniti dvodimenzionalno polje pseudo-slučajnim vrijednostima [-25, 30]. Pronaći najmanji element svakog stupca, te ispisati na ekran sumu svakog stupca pomnoženu najmanjim elementom tog stupca.

 

  1. 2. Napisati funkciju koja određuje i vraća koliko ima elemenata u predanom joj polju cijelih brojeva koje počinju sa znamenkom 2. U svrhu testiranja u main() funkciji učitati n elemenata s tipkovnice u cjelobrojno polje te pozvati napisanu funkciju i ispisati njenu povratnu vrijednost na ekran.

 

  1. 3. Napisati funkciju koja računa i vraća produkt svih vrijednosti elemenata polja koji su strogo veći od srednje vrijednosti svih elemenata polja i strogo manji od najveće vrijednosti u polju. Funkcija treba raditi i sa poljima različite duljine. U main() funkciji deklarirati jedno polje duljine 25, te popuniti s pseudo-slučajnim brojevima [-10, 30]. U main() funkciji pozvati napisanu funkciju i ispisati povratnu vrijednost.

 

  1. 4. Napisati funkciju koja u predanom joj stringu pronalazi i vraća koliko puta se ponavlja slog ''ka''. U main() funkciji dinamički zauzeti polje od 100 elemenata tipa char, unijeti string s tipkovnice i predati funkciji te ispisati povratnu vrijednost funkcije.

 

Hvala!