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

Jak wykonać to ćwiczenie? ( matura próbna teoria rozsz )

0 głosów
677 wizyt
pytanie zadane 16 marca 2016 w C i C++ przez Philip Bywalec (2,320 p.)
c) Zaproponuj algorytm zgodny z podaną poniżej specyfikacją (w postaci listy kroków, schematu
blokowego lub w wybranym języku programowania) realizujący nierosnące porządkowanie
ciągu liczbowego.
Wybierz metodę, która stosuje iterację, ale nie wykorzystuje techniki dziel i zwyciężaj.

Specyfikacja
Dane:
n – liczba naturalna większa od 0 równa liczbie elementów tablicy T
T[0..n–1] – n-elementowa tablica jednowymiarowa zawierająca liczby rzeczywiste (ciąg liczb do
posortowania)
Wynik:
T[0..n–1] – posortowana nierosnąco n-elementowa tablica jednowymiarowa zawierająca liczby
rzeczywiste (posortowany nierosnąco ciąg liczb) metodą, która stosuje iterację, ale nie wykorzystuje
techniki dziel i zwyciężaj

.

. (tutaj miejsce na sposób rozwiązania)

.

Podaj nazwę i złożoność czasową wraz z określeniem operacji dominującej zaproponowanej w tym punkcie metody sortowania.
...................................................................................................................................................................
...................................................................................................................................................................
...................................................................................................................................................................

 

Zdaje sobie sprawę, iż pewnie stosunek wkładu pracy i straconego czasu do uzyskania korzyści jest niesatysfakcjonujący, lecz proszę również o wytłumaczenie, ponieważ przygotowuje sie do matury z inf w tym roku i chciałbym wyciągnąć najwięcej punktów jak to tylko możliwe ( celuje głównie w mat, ale inf też myślę, że się przyda ).

 

Z góry dziękuję i pozdrawiam

3 odpowiedzi

0 głosów
odpowiedź 16 marca 2016 przez Aisekai Nałogowiec (42,190 p.)
Wszelkiego rodzaju algorytmy sortujące.  Np przez wstawianie, bąbelkowe, przez wybór. Tak mi się przynajmniej wydaje.

A to już na wikipedii jest wytłumaczone
0 głosów
odpowiedź 16 marca 2016 przez Boshi VIP (100,240 p.)
Jeżeli dobrze rozumiem pierwsze, to masz posortować  pewny zbiór losowych liczb malejąco ?

Skoro nie dziel i zwyciężaj to odpadają mergersort, quick sort i pewnie jeszcze kilka oparte o tą zasadę.

Możesz wykorzystać sortowanie bombelkowe- złożonosć  O(n^2)

 

Jeżeli chodzi o opis to złożoność jak wyżej, operacja dominująca- nie wiem jak to nazwać, ale w każdym razie  sprawdzenie każdego  elementu tablicy i wykonanie na nim operacji zamiany.

Czy o to chodzi? to tylko klucz wie.
0 głosów
odpowiedź 17 marca 2016 przez RfG Użytkownik (580 p.)

może ten program pomoże ci zrozumieć to zadanie 

​#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>


void uporzadkujTablice(int *table, int tableSize)
{

	bool czyNastapilaZmiana = false;

	for (int i1 = 0; i1 < tableSize; i1++)
	{
		czyNastapilaZmiana = false;
		for (int i2 = 1; i2 < tableSize; i2++)
		{
			if (table[i2 - 1] < table[i2])
			{
				czyNastapilaZmiana = true;
				int tmp = table[i2 - 1];
				table[i2 - 1] = table[i2];
				table[i2] = tmp;
			}

		}

		if (czyNastapilaZmiana == false)
		{
			break;
		}
	}
}

void wypiszTablice(int* table,int tableSize)
{
	for (int i = 0; i < tableSize; i++)
	{
		std::cout << table[i] <<" ";
	}
	std::cout << std::endl;
}

int main()
{
	srand(time(NULL));

	int tableSize = rand() % 50;

	int* table;
	table = new int[tableSize];

	for (int i = 0; i < tableSize;i++)
	{
		table[i] = rand() % 50;
	}

	std::cout << "tablica przed uporzadkowaniem" << std::endl;
	wypiszTablice(table,tableSize);

	uporzadkujTablice(table, tableSize);

	std::cout << "tablica po uporzadkowaniu" << std::endl;
	wypiszTablice(table, tableSize);

	
	std::string smt;
	std::cin>>smt;

	delete table;

	return 0;
}

Podobne pytania

0 głosów
1 odpowiedź 3,187 wizyt
pytanie zadane 8 listopada 2017 w Inne języki przez Melchior Obywatel (1,300 p.)
0 głosów
0 odpowiedzi 1,180 wizyt
pytanie zadane 17 lipca 2021 w Rozwój zawodowy, nauka, praca przez Hubert731 Obywatel (1,650 p.)
0 głosów
1 odpowiedź 1,299 wizyt

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,369 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...