• 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,790 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,269 wizyt
pytanie zadane 20 października 2019 w C i C++ przez kalczur Gaduła (4,320 p.)
0 głosów
1 odpowiedź 584 wizyt
pytanie zadane 4 maja 2016 w C i C++ przez KlejnotNilu Użytkownik (750 p.)

93,195 zapytań

142,211 odpowiedzi

322,061 komentarzy

62,519 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 3316p. - dia-Chann
  2. 3251p. - Łukasz Piwowar
  3. 3243p. - Łukasz Eckert
  4. 3222p. - CC PL
  5. 3167p. - Tomasz Bielak
  6. 3157p. - Łukasz Siedlecki
  7. 3133p. - rucin93
  8. 3110p. - Maurycy W
  9. 3028p. - Adrian Wieprzkowicz
  10. 2992p. - Mikbac
  11. 2490p. - Marcin Putra
  12. 2481p. - Anonim 3619784
  13. 2467p. - Michał Telesz
  14. 2427p. - Michal Drewniak
  15. 1949p. - rafalszastok
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!

...