• 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 )

Object Storage Arubacloud
0 głosów
392 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ź 2,740 wizyt
pytanie zadane 8 listopada 2017 w Inne języki przez Melchior Obywatel (1,300 p.)
0 głosów
0 odpowiedzi 471 wizyt
pytanie zadane 17 lipca 2021 w Rozwój zawodowy, nauka, praca przez Hubert731 Obywatel (1,650 p.)
0 głosów
1 odpowiedź 705 wizyt

92,568 zapytań

141,424 odpowiedzi

319,634 komentarzy

61,956 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...