• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zamiana miejscami lista

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,789 wizyt
pytanie zadane 30 stycznia 2018 w C i C++ przez Krystek102 Bywalec (2,440 p.)
napisz funkcję która w liscie jednokierunkowej znajdzie element najmniejszy i największy.Jeżeli element najmniejszy lezy dalej niż najwiekszy funkcja powinna zamienić je miejscami.Wszystkie elementy w liście są różne i lista ma minimum dwa elementy
oto mój kod

#include <stdio.h>
#include <stdlib.h>

struct element
{
    double x;
    struct element *nast;
};
typedef struct element ELEMENT;
typedef ELEMENT *ADRES;
    void wypisz(ADRES pierwszy)
    {int ile=0;
    int ile1=0;
        ADRES pom=pierwszy;
        double maks=pom->x;
        double mins=pom->x;
        while(pom!=NULL)
        {
            if(mins>pom->x)
            {
                ile++;
                mins=pom->x;
            }
                
            if(maks<pom->x)
            {
                ile1++;
                  maks=pom->x;
            }
              
            pom=pom->nast;

        }
        if(ile>ile1)
        {
            //tu powinna dokonywac sie zamiana 
        }
    }
int main()
{



    return 0;
}

mam problem z zamianą ,nwm jak to zrobić w liście,ma ktoś pomysł? 

1 odpowiedź

+1 głos
odpowiedź 30 stycznia 2018 przez j23 Mędrzec (195,260 p.)
	ADRES pom = pierwszy;
	ADRES max = pom;
	ADRES min = pom;
	size_t pos = 0, min_p = 0, max_p = 0;

	pom = pom->nast;

	while(pom != NULL)
	{
		if(min->x > pom->x) { min = pom; min_p = pos; }
		else if(max->x < pom->x) { max = pom; max_p = pos; }
		pom = pom->nast;
		++pos;
	}

	if(min_p > max_p)
	{
		int x = max->x;
		max->x = min->x
		min->x = x;
	}

 

komentarz 30 stycznia 2018 przez Krystek102 Bywalec (2,440 p.)
dzięki,wszystko już jasne :)

Podobne pytania

0 głosów
1 odpowiedź 185 wizyt
pytanie zadane 9 stycznia 2018 w C i C++ przez mn130496 Gaduła (3,530 p.)
0 głosów
1 odpowiedź 2,264 wizyt
pytanie zadane 20 października 2019 w C i C++ przez kalczur Gaduła (4,320 p.)
0 głosów
1 odpowiedź 577 wizyt
pytanie zadane 4 maja 2016 w C i C++ przez KlejnotNilu Użytkownik (750 p.)

93,180 zapytań

142,195 odpowiedzi

321,991 komentarzy

62,511 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1873p. - dia-Chann
  2. 1848p. - Łukasz Piwowar
  3. 1831p. - CC PL
  4. 1827p. - Łukasz Eckert
  5. 1769p. - Michal Drewniak
  6. 1761p. - Łukasz Siedlecki
  7. 1758p. - rucin93
  8. 1708p. - Adrian Wieprzkowicz
  9. 1680p. - Tomasz Bielak
  10. 1668p. - Mikbac
  11. 1621p. - rafalszastok
  12. 1506p. - Marcin Putra
  13. 1356p. - ssynowiec
  14. 1289p. - Anonim 3619784
  15. 1169p. - Grzegorz Aleksander Klementowski
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...