Premium

Získejte všechny články mimořádně
jen za 49 Kč/3 měsíce

Lineární spojový seznam

Jsem studentem ČZU , obor SyI. V předmětu Programování jsme dostali úkol vytvořit program v jazyku C. Jeho náplní je přidání položky na a pak do seznamu (první úkol) a po té odstranění položky seznamu (další ) . Tyto dva úkoly jsem spojil. Protože po mě ho chce až moc lidí , tak ho raději zveřejim . Chci tak předejít plagiátorství . Když to někdo celé zkopíruje a odevzdá tak jak je , je to jeho blbost . Tohle je pravé umění !! btw myslim , že přes některý kompilátory to neprojde )) Jsem asi fakt ďábel.  ZDROJOVÝ KÓD :::

#include <stdio.h>
#include <stdlib.h>
// Hynek Darbujan SYi , codeblocks ,odstraneni polozky ze seznamu + nacteni ,verze snad 100.Je to dost  moje práce.
// dost mne inspirovala stranka - http://cs.wikipedia.org/wiki/Spojový_seznam ,hlavne vlozeni , pozdeji jsem podle toho upravil strukturu tak aby to trochu "vypadalo "
//
typedef struct sp_seznam
{
int data;
struct sp_seznam *next;
} uzel;
//pridani//
uzel *pridat_na_seznam (uzel **p, int i)
{
uzel *n = NULL;
if (p) {
n = malloc(sizeof(uzel)); // vymezeni pameti
if (n) {
n->data = i;
n->next = *p;
*p = n;
}
}
return n;
}
void vypis_seznam (uzel *n) // fuknce pro vypis
{
if (!n) {  // kontrola seznamu
printf("seznam je prazdny\n");
return;
}
while (n) {  // vypis obsahu
printf("print %d\n", n->data);
n = n->next;
}
}
uzel *vloz_do (uzel **p, int i, int index)
{
uzel *n = NULL;
if (p) {
if (*p) {   // jestli p neni prazdne
uzel *r = NULL; // namíření na zacatek
uzel *s = *p; // propojeni
int idx = 0; // pro porovnani na zacatek
while (s) {
if (idx == index) { //vlozte sem - index. kam chceme
n = malloc(sizeof(uzel)); // vymezeni pameti
if (n) {
n->data = i;
if (r) {
n->next = r->next;  // vychytavka - vlozeni mezi r a r-next
r->next = n;
} else {
n->next = *p;  //dalsi
*p = n;
}
}
return n;
}
idx++; // dalsi
r = s;
s = s->next;
}
if (idx == index) {  // vlozit na konec - omezeni k
n = malloc(sizeof(uzel)); // vycleneni
if (n) {
n->data = i;
n->next = NULL;
r->next = n;
}
}
} else {
if (!index) { // vlozit na vrchol - omezeni h
n = malloc(sizeof(uzel));  // vycleneni
if (n) {
n->data = i;
n->next = NULL;
*p = n;
}
}
}
}
return n;
}
uzel **hledej_smudlo (uzel **n, int o) // funce na vyhledavani
{
if (n) {
while (*n) {
if (o==0) return n;
o--;// pocet cyklu
n = &(*n)->next;
}
}
return NULL;
}
void odstran(uzel **p)
{
if (p && *p) {
uzel *n = *p;
*p = (*p)->next;
free(n);
}
}
int main (void)
{
uzel *n = NULL; // na zacatek
int cislo;
int l=0;
int h=0;
int pozice;
char pozn;
pozn=0;
// naplneni seznamu
printf("jestli chcete naplnit seznam automaticky , tak zmackni 1 , jetsli ne ,tak neco jineho \n");
scanf("%d",&cislo);
if (cislo==1){
pridat_na_seznam(&n, 01);
pridat_na_seznam(&n, 12);
pridat_na_seznam(&n, 23);
pridat_na_seznam(&n, 34);
pridat_na_seznam(&n, 45);
pridat_na_seznam(&n, 56);
h=6;} // nastaveni max poctu
else {
while(cislo !=9999){
flush(cislo);
printf("zadej cislo do seznamu , az jich budes mit dost napiš 9999:\n");
scanf("%d",&cislo);
if(cislo !=9999){
pridat_na_seznam(&n,cislo);
h++;
}
}}
vypis_seznam(n);
int qw;
printf("jestli chces pridavat polozku napis 1 , jestli mazat , tak neco jinyho, jestli chces skoncit tak zmacni ten krizek vpravo nahore v rohu \n");
scanf("%d",&qw);
if (qw==1)
{
printf("zadej cislo na vlozeni do seznamu\n");
if (scanf("%d",&cislo)!=1)

{
printf("cislo ! program bude ukoncen");
return 0;}
printf("pozici pro cislo v seznamu (0 az n), vyssi cislonez je pocet polozek bude vlozeno na konec seznamu , seznam je vypsan sestupne \n");
if (scanf("%d",&pozice)!=1)
{ return 0; }
vloz_do(&n,cislo,pozice);
vypis_seznam(n);
printf("!finito!");
} else {
printf("zadej číslo polozky , co chces odstranit (0-n) , cislovani je odshora dolů \n");
if (scanf("%d",&pozice)!=1)
{ return 0;}
odstran(hledej_smudlo(&n, pozice));
vypis_seznam(n);
printf("!finito!");
return 0;}
}
int flush() {  // funkce na vycisteni
char c;
c = getchar();
while (c != '\n' && c != EOF) {
c = getchar();
}
}

 

dodatek : jasně ,že nejsem suprprogramátor , řekl bych , že mi to někdy vůbec nejde )) ale to neznamená , že jsem tohle nedělal se nadšením :-D , btw , jestli tam mám nějaký chyby , tak sem s nima - ale nechi , žádný urážky -, nebo něco ve stylu , že napíšete , kde je chyba , ale nedáte sem její řešení , to mi je k ničemu .

Tvorbou programů se neživim a ani asi nebudu ))....jsem říkal , že jsem ďábel

ps. znáte vtipy v cčku ? tak tohle je jeden z nich :-D

-edit. poučení č1 - nedávat názvy proměnných jen písmenka - třeba fakt názvy

Autor: Hynek Dařbujan | středa 5.5.2010 19:21 | karma článku: 11,37 | přečteno: 2859x
  • Další články autora

Hynek Dařbujan

Vyplnění kontrolního hlášení DPH přes Excel !

V podstatě jde o to abyste mohli nakopírovat excel tabulku list 1 do složky A4 tabulku z listu 2 do složky B5. Jednoduchý jako facka, ne? :-D

23.5.2016 v 17:37 | Karma: 8,64 | Přečteno: 1009x | Diskuse| Osobní

Hynek Dařbujan

Tak, kdy se mi má to dítě narodit? Vyber si!

"Dvacátého sedmého, nebo prvního se má narodit?", ptá se mě má sestra sedící v kuchyni. Nechápavě se ptám: "Co tim myslíš?", až potom, co doplní svou otázku, si uvědomím, že je o ní rozhodnuto, aby rodila císařským řezem a vybírá termín.

4.10.2014 v 12:40 | Karma: 9,62 | Přečteno: 826x | Diskuse| Ostatní

Hynek Dařbujan

Armáda Evropské unie

Dne 6. 3. jsem byl v Evropském domě, který je na Národní třídě v Praze, na semináři "Jak se dostat do armády Evropské unie". Chtěl bych se tímto s vámi podělit o zážitky.

7.3.2014 v 20:10 | Karma: 15,31 | Přečteno: 737x | Diskuse| Ostatní

Hynek Dařbujan

Problém s instalací Skype na linuxu [vyřešeno]

Většina distribucí založená na linuxu je i bez znalosti příkazové řádky (tzv. terminálu) použitelná jako bezplatná alternativa komerčních operačních systémů. Jestli něco může od změny odradit, je několik pro "běžného smrtelníka" neřešitelných problémů, které vyžadují větší znalosti systémů založených na linuxu. Tady je jeden z nich.

2.2.2013 v 20:33 | Karma: 9,20 | Přečteno: 1792x | Diskuse| Ostatní

Hynek Dařbujan

Havel byl taky umělec a docela to s ním šlo, ne?

Jsme malý národ, ale věřím, že se správnými vůdci to dokážeme ostatním pořádně zavařit. Kdo se toho má bát? My, nebo oni?

15.11.2012 v 18:15 | Karma: 14,36 | Přečteno: 933x | Diskuse| Politika
  • Nejčtenější

Atentát na Fica. Slovenského premiéra postřelili

15. května 2024  14:56,  aktualizováno  17:56

Slovenského premiéra Roberta Fica ve středu postřelili. K incidentu došlo v obci Handlová před...

Fico je po operaci při vědomí. Ministr vnitra mluví o občanské válce

15. května 2024  19:25,  aktualizováno  23:12

Slovenský premiér Robert Fico, který byl terčem atentátu, je po operaci při vědomí. S odkazem na...

Fica čekají nejtěžší hodiny, od smrti ho dělily centimetry, řekl Pellegrini

16. května 2024  8:42,  aktualizováno  15:38

Zdravotní stav slovenského premiéra Roberta Fica je stabilizovaný, ale nadále vážný, řekl po...

Pozdrav z lůžka. Expert Antoš posílá po srážce s autem palec nahoru

13. května 2024  18:48,  aktualizováno  14.5 22:25

Hokejový expert České televize Milan Antoš, kterého v neděli na cestě z O2 areny srazilo auto, se...

Putinova časovaná bomba. Kadyrov umírá, rozjíždí se krvavý boj o trůny

17. května 2024  14:16

Premium Ramzan Kadyrov ještě dýchá, v Čečensku se však už začíná hledat jeho nástupce. Naznačují to i...

Řekni, kde ti muži z Gazy jsou. Otazníky ohledně obětí: násobně více dětí a žen

19. května 2024

Premium V Gaze je problém, na který upozorňovala už Marlene Dietrichová. Teď si s ní notují demografové a...

Češi umějí vyrobit řadu vojenských dronů. Ale armáda o ně nestojí

19. května 2024

Premium Letecká výroba byla v České republice vždy na špičkové úrovni. Menší dopravní letouny, ultralighty,...

Gruzínská prezidentka vetovala „ruský“ zákon. Jde do boje s vládou

18. května 2024  16:55,  aktualizováno  22:06

Gruzínská prezidentka Salome Zurabišviliová podle tiskových agentur vetovala kontroverzní zákon o...

Izraelský válečný kabinet se bortí. Ganc označil Netanjahuovy plány za fanatické

18. května 2024  20:36,  aktualizováno  21:41

Člen izraelského válečného kabinetu Benny Ganc v sobotu řekl, že jeho strana přestane podporovat...

  • Počet článků 35
  • Celková karma 0
  • Průměrná čtenost 1383x
Autor je borec. Studuje Českou zemědělskou univerzitu v Praze . Obor Systémové inženýrství . Čáslavský rodák . Uživatel linuxu a analerginu. Elektrikář .Flegmatik . Vášnivý kuchař Občas nezbedný syn ještě nezbednějšího otce , Hynda ,Pinďa , Strašnej sajař , bigbíťák . ...... To a nejen to je Hynek Dařbujan jr.!!