Kjo temė ishte hapur nga Nogi_PR por e fshiva padashur.
Arrita ta hapja nga historia e shfletuesit dhe po e hedh pėrsėri.
--------------------------------------------------------------------------------
Nogi PR
Ndihme per sortimin e listave zinjgjirore ne C Postimi #1
Tung te gjithve
Me duhet ndihme nga progameret ton qe posedoj njohuri ne C, e kam je detyre per te zgjedhur deri te merkuren, e per fat te keq jam fillestar ne kete lemi. Me duhet te beje nje code qe sorton datat sipas emrit dhe klases, sortimi duhet te behet me Bubblesort dhe datat duhet te rruhen me ndihmen e listave zinjgjirore.
Kush kupton gjermanisht, detyra duket si vijon:
-Die Haltung von Daten wird mit Hilfe einer verketteten Liste realisiert.
-Das Sortieren von Daten soll mit dem Bubblesort-Algorithmus realisiert werden.
-Das Sortieren der Daten muss mindestens nach "Name" (Name und Vorname) und
Klasse möglich sein, ooptional aber auch nach "Geburtsdatum" und "Adresse" (Plz, Ort und Strasse).
Falemnderit te gjithve qe do te japin kontributin e tyre.
zeus
---------------------------------------------------------------
Nuk te mora vesh fare!
Do ne fillim te rendisesh nje Array me emra duke perdorur Bubble Sort dhe pastaj ti hedhesh emrat ne nje liste apo do te rendisesh listen (lista me Bubble sort nuk renditet!)?
--------------------------------------------------------------
Nogi PR
Tung Zeus
-Kerkohet rrujtja e datave me ndihmen e listave zinjgjirore.
-Sortimi i datave permes Bubblesort-Algoritmus.
-Sortimi se paku duhet te jet i mundshem nga emrat (emri dhe
mbiemri) si dhe nga klaset si dhe opcional per sortimin e datelindjes dhe adreses (Nr. postal, vendi dhe rruga).
Nuk perdoren Arrays, por listat zinjgjirore.
zeus
-----------------------------------------------------
Nuk kam perdorur ndonjehere "chained list"!
-----------------------------------------------------
fitims
Nogi PR sigurisht e ka fjalen per "Linked lists"
edspace
Kėtu ke kodin pėr bubble sort te njė array. Besoj se nuk do kesh probleme ta ndryshosh per nje linked list.
Kodi PHP:
void BubbleSort(unsigned long data[], unsigned long n)
{
// rendit nje array me n elemente
unsigned long i, j;
bool changes = true;
// perserit per te gjitha elementet ose kur te mbaroje renditja.
for(i=0;(i<n) && (changes == true);i++)
{
changes = false;
for(j=1;j<(n-i);j++)
{
// nqs elementet jane jashte rradhes, ndryshoi
if( data[j-1]>data[j] )
{
long dummy = data[j-1]; //zevendeso 2 elemente
data[j-1] = data[j];
data[j] = dummy;
changes = true;
}
}
}
}
fitims
per Nogi PR
me poshte e ke nje zgjedhje, ndoshta jo optimale, por sigurisht se mund ta nderrosh sipas nevojave. programi eshte i shkruar ne visual c++ 6.
te pershendes
FitimS
--------------------------------------------
programi
--------------------------------------------
Kodi PHP:
#include "stdafx.h"
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
struct Personi
{
char* emri;
char* mbiemri;
// ketu mund te shtosh info tjera
};
struct Nyja
{
Personi* personi;
Nyja* tjetra;
};
void mbusheListen(Nyja* fillimi)
{
char* emrat[] = { "Bekim", "Kujtim", "Astrit", "Albert", "Lorik" };
char* mbiemrat[] = { "Shpati", "Tirana", "Dusku", "Prishtina","Krasniqi" };
Nyja* nyja = fillimi;
for(int i = 0; i < 5; i++)
{
// krijojme person te ri
Personi* p = new (Personi);
p->emri = emrat[i];
p->mbiemri = mbiemrat[i];
// krijojme nyje te re
Nyja* n = new(Nyja);
n->personi = p;
n->tjetra = NULL;
//zhvendosim listen per nje nyje
nyja->tjetra = n;
nyja = n;
}
}
void parqitListen(Nyja* lista)
{
Nyja* nyja = lista->tjetra;
while(nyja != NULL)
{
// paraqite emirn dhe mbiemrin
cout << nyja->personi->emri << " " << nyja->personi->mbiemri << "\n";
nyja = nyja->tjetra;
}
}
void radhiteListen(Nyja* lista)
{
Nyja* nyja = lista->tjetra;
while(nyja != NULL)
{
Nyja* nyjaTjeter = nyja->tjetra;
while(nyjaTjeter != NULL)
{
if(strcmp(nyja->personi->emri, nyjaTjeter->personi->emri) > 0)
{
// nderroji vlerat
Personi* tmp = nyjaTjeter->personi;
nyjaTjeter->personi = nyja->personi;
nyja->personi = tmp;
}
nyjaTjeter = nyjaTjeter->tjetra;
}
nyja = nyja->tjetra;
}
}
int main(int argc, char* argv[])
{
Nyja* lista = new(Nyja);
mbusheListen(lista);
parqitListen(lista);
radhiteListen(lista);
parqitListen(lista);
return 0;
}
Krijoni Kontakt