Funkcja list jednokierunkowych

0

Mam napisać funkcję, która po wczytaniu imion do struktury zwróci nam najdłuższe imię.

struct Timie
{
	string imie;
	Timie *nast;
};
typedef Timie *wsk_imie;

Udało się stworzyć jedynie coś takiego

void sprawdz(wsk_imie pocz) 
{
while (pocz != nullptr)
	{pocz->imie;
imie=imie.size();
		
		pocz = pocz->nast;
	}
} 
1
Gorth napisał(a):

Udało się stworzyć jedynie coś takiego

void sprawdz(wsk_imie pocz) 

Skoro ma zwracać najdłuższe imię, to dlaczego ma typ zwracany void?

{
while (pocz != nullptr)
	{pocz->imie;

Chyba warto byłoby pobrać imię do jakiejś zmiennej, teraz to sobie tak wisi w powietrzu w nieznanym celu

imie=imie.size();

I warto byłoby trzymać na boku dotychczasowe najdłuższe imię, by móc je porównać w bieżącym, w razie czego zamienić, a potem zwrócić.

0

Też miałem podobny pomysł, ale nie wiedziałem do końca jak go zaimplementować

void spr(wsk_imie pocz)
{
	int min, imi;
	string imir;
	
	while (pocz != nullptr)
	{
		 pocz->imie=imi;
		 for(int i=0; i<imi.size();i++)
		 {
		 tab[i];
		 tab[i]=min;
		 }
//		cout << pocz->imie << endl;
		pocz = pocz->nast;
		pocz->nast=imir;
			 for(int j=0; i<imir.size();j++)
		 {
		 tab[j];
		 
		 }
		imir.size()=tab[j];
		if(tab[i]<tab[j])
		min=tab[j];
	}

	cout<<min;
}
0

A co na to kompilator?

imir.size()=tab[j];

Moja rada: Przed wysłaniem czegoś na forum sprawdź, czy kod się chociaż poprawnie kompiluje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1