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

sortowanie przez wybór

VPS Starter Arubacloud
0 głosów
160 wizyt
pytanie zadane 25 września 2018 w C i C++ przez adamus Użytkownik (860 p.)
#include<iostream>
using namespace std;
 
int main()
{
int ilosc_liczb, max, i,j, pomoc;
cout << "Podaj ilosc licz do posortowania: ";
cin >> ilosc_liczb;
int *tablica = new int [ilosc_liczb]; // utworzenie dynamicznej tablicy na 'ilosc_liczb' elementow
 
for (i = 0; i < ilosc_liczb; i++)
{
cout << "Podaj liczba: ";
cin >> tablica[i];
}
 
for (i = 0; i < ilosc_liczb; i++) // zaczynamy od pierwszego elementu i konczymy na ostatnim
{
max = i; // indeks najmniejszego znalezionego elementu
for (j = i+1; j < ilosc_liczb; j++) // poszukujemy najmniejszego elementu poczawszy od i
{
if (tablica[j] < tablica[max]) // jezeli znalezlismy mniejszy element zapisujemy jego indeks w max
max = j;
}
// wstawiamy najmniejszy element na odpowiednie miejsce
pomoc = tablica[max];
tablica[max] = tablica[i];
tablica[i] = pomoc;
}
 
for (i = 0; i < ilosc_liczb; i++) // wypisanie posortowanej tablicy
cout << "tablica[" << i << "] = " << tablica[i] << endl;
 
delete [] tablica; // zwolnienie tablicy zaalokowanej dynamicznie
 
return 0;
}

Witam czy mozna jakos zmodyfikowac ten kod aby nie uzywac tablicy dynamicznej tylko zwykła ? Bo nie moge wpasc jak to rozgryźć.

1 odpowiedź

0 głosów
odpowiedź 26 września 2018 przez Piotr Batko Stary wyjadacz (13,190 p.)
Ze zwykłą tablicą jest tak, że jej rozmiar jest ustalony już na etapie kompilacji. Załóżmy, że został ustalony na 10 elementów. Użytkownik mówi, że chciałby wpisać 15 elementów. My tablicy już nie powiększymy, więc nie mamy gdzie wsadzić tych pięciu elementów :(

Można jednak zrobić tak, że powiemy użytkownikowi, żeby więcej niż 10 nie podawał. Jeżeli nas nie posłucha, to np. kończymy program, albo prosimy o ponowne wpisanie wartości. Ok, tym razem posłuchał i wpisał 7. Zapisujemy sobie tę podaną liczbę elementów i dalej traktujemy tę tablicę, jakby miała rozmiar 7. Marnują się wtedy te 3 końcowe miejsca... no trudno :)

Podobne pytania

0 głosów
1 odpowiedź 97 wizyt
pytanie zadane 27 sierpnia 2022 w C i C++ przez Jerzy Użytkownik (870 p.)
+1 głos
1 odpowiedź 109 wizyt
pytanie zadane 12 grudnia 2021 w C i C++ przez WonderOfU Nowicjusz (160 p.)
0 głosów
3 odpowiedzi 507 wizyt
pytanie zadane 23 marca 2021 w C i C++ przez warzywko13 Użytkownik (840 p.)

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...