long double

W9
  • Rejestracja:około 11 lat
  • Ostatnio:4 dni
  • Postów:32
0

Witam mam pewien problem, otóż mam użyć w programie obiektu klasy array dla 100 wartości typu long double i obliczyć 100!

Kopiuj
#include<iostream>
#include<array>
#include<conio.h>

using namespace std;
const int Arsize = 101;
int main()
{
    array < long double, Arsize > tabarr;
    //tabarr[0]=1;
    //	cout<<tabarr[0];
    tabarr[ 1 ] = tabarr[ 0 ] = 1;
    for( int i = 2; i < Arsize; i++ )
    {
        tabarr[ i ] = i * tabarr[ i - 1 ];
        
    }
    for( int i = 0; i < Arsize; i++ )
         cout << i << "! = " << tabarr[ i ] << endl;
    
    
    getch();
    return 0;
    
}

Oto co się wyswietla:
0! = -0
1! = -0
2! = -0
3! = -2
4! = -2
5! = -3.10504e+231
6! = -3.18618e-058
7! = -1.35666e-166
8! = -1.35666e-166
9! = -9.05568e-072
10! = -2.13401e+142
11! = -9.31519e-192
12! = -4.72401e+175
13! = -2.5143e-031
14! = -4.57401e-143
15! = -6.07857e-192
16! = -6.07857e-192
17! = -3.9374e-146
18! = -1.00067e-048
19! = -2.14614e+116
20! = -1.06929e-274
21! = -2.02307e-071
22! = -2.9729e+249
23! = -1.98327e-081
24! = -2.32675e-292
25! = -2.14112e+064
26! = -8.51497e-122
27! = -2.52495e-247
28! = -6.25641e+261
29! = -3.79461e+150
30! = -2.38193e+083
31! = -8.00952e+051
32! = -8.00952e+051
33! = -2.5684e+082
34! = -2.16718e+145
35! = -4.14765e+245
36! = -5.35079e-267
37! = -3.48066e-164
itd.
natomiast gdy zmienie na typ
LONG LONG INT

0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
13! = 6227020800
14! = 87178291200
15! = 1307674368000
16! = 20922789888000
17! = 355687428096000
18! = 6402373705728000
19! = 121645100408832000
20! = 2432902008176640000
21! = -4249290049419214848
22! = -1250660718674968576
23! = 8128291617894825984
24! = -7835185981329244160
25! = 7034535277573963776
26! = -1569523520172457984
27! = -5483646897237262336
28! = -5968160532966932480
29! = -7055958792655077376
30! = -8764578968847253504
31! = 4999213071378415616
32! = -6045878379276664832
33! = 3400198294675128320
34! = 4926277576697053184
35! = 6399018521010896896
36! = 9003737871877668864
37! = 1096907932701818880

Uzywam dev c++4.9.9.2 Orwell update 5.62
Dodam że napisałem już na innym forum i powyższy kod nie działa tylko u mnie, tj inni sprawdzali i ich wyniki sa dobre.
Co może być przyczyną? Pozdrawiam

n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
0

Jak wyobrazasz sobie upchniecie liczby

Kopiuj
9332621544394415268169923885626
6700490715968264381621468592963
8952175999932299156089414639761
5651828625369792082722375825118
5210916864000000000000000000000
000

do jakiegokolwiek prymitywnego typu liczbowego?

edytowany 1x, ostatnio: n0name_l
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

100! składa się ze ze 158 cyfr (w zapisie dziesiętnym) - to nie ma szans zmieścić się w long double.
Uprzedzając następne pytania:
1.Nie, nie istnieje taki prymityw (liczbowy), który dałby radę to obsłużyć.
2.GMP.


edytowany 1x, ostatnio: Patryk27
KR
Ad 1. A string?
Patryk27
Fixed, dzięki.
W9
  • Rejestracja:około 11 lat
  • Ostatnio:4 dni
  • Postów:32
0

Rozumiem, takie miałem zadanie w ksiązce ;)
Ale program powinien przynajmnie obliczac dobrze pierwsze wartości aż do wartości która nie mieści się w danym typie tak jak w Long long int.
Jak widac program dobrze liczy do pewnego momentu. A jesli typ jest long double wyniki sa złe od początku!
Pytam więc dlaczego? PS jak już pisałem u innych ww kod działał dobrze, oczywiście do pewnego momentu. Tylko u mnie działa źle.

edytowany 1x, ostatnio: winio94
n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
0

Bo nie przypisujesz typu double tylko typ int.

http://ideone.com/QN1JKO

edytowany 1x, ostatnio: n0name_l
Zobacz pozostały 1 komentarz
n0name_l
Fajnie, ze w ogole napisales ;) Swoja droga ciekawa sprawa. :P
W9
Dokładnie, sam się zastanawiam nad tym rzutowaniem,gdyż nie znałem dotąd takiego. Takie cuś działa dokładnie tak samo(wizualnie :D) cout << i << "! = " << (double)( tabarr[ i ] ) << endl; Pytanie czy czyms się to różni od powyższego?
n0name_l
Generalnie nalezy uzywac static_cast&lt;T1&gt;(var) bo jest sprawdzane przez kompilator no i wizualnie w kodzie latwo to zobaczyc. Skladnia (T)var to pamiatka z C.
W9
dobra... <T1> oznacza typ? a var zmienną, tak? Oraz, żeby było jasne, to jest rzutowanie tylko dla obiektów klasy array?
n0name_l
Tak, tak, nie. static_cast jest dla typow kompatybilnych ze soba, tzn. takich, dla ktorych jest zdefiniowana konwersja, np. typy liczbowe, wskaznik klasy pochodnej na wskaznik klasy bazowej, etc. Natomiast konwersja w stylu C jest pewnego rodzaju bruteforcem, to znaczy mozna rzutowac wszystko na wszystko (w gruncie rzeczy jest to troche bardziej skomplikowane), ale nie jest to w zaden sposob sprawdzane przez kompilator, wiec najprawdopodobniej w wielu sytuacjach aplikacja sie wylozy.
W9
  • Rejestracja:około 11 lat
  • Ostatnio:4 dni
  • Postów:32
0

n0name przeciez to jest dokładnie ten sam kod co ja wysłałem. Ale u mnie działa źle. Gdzie przypisuje typ int zamiast typu double?

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Przyjrzyj się ponownie kodowi @n0name_l...


BY
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 11 lat
  • Postów:16
0

Chodzi o linkijke

Kopiuj
 tabarr[ 1 ] = tabarr[ 0 ] = 1.;
W9
  • Rejestracja:około 11 lat
  • Ostatnio:4 dni
  • Postów:32
0

Hah zauważyłem, w życiu bym się nie zorientował. Niestety u mnie działa tak samo nawet z 1. :(

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Zaktualizuj kompilator i/lub środowisko.


W9
  • Rejestracja:około 11 lat
  • Ostatnio:4 dni
  • Postów:32
0

Proponujesz code blox? Bo już przyzwyczaiłem się do deva, a chyba nowszej wersji Orwella nie ma...

KA
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 10 lat
  • Postów:71
0

Według mnie lepiej użyć Visual Studio. Środowisko preferowane przez system Windows, ponadto jak ci się znudzą konsole to możesz bez problemu przejść do okienek (chodzi mi tutaj o kreatory).

Zobacz pozostałe 5 komentarzy
n0name_l
Okej. To tak, WinApi nie ma designera, MFC ma designer, ale tej technologii pewno na oczy nigdy nie widziales (niedostepne w wersji Express). Innych technologi do okienek dla C++ VS nie wspiera w standardzie. Przy czym, ten designer do MFC nijak nie dorasta Qt do piet. Natomiast nie mam pojecia do tej pory, o jakie swietne designery do C++ tobie chodzi.
KA
Twoja wiadomość wydaje mi się troszeczkę arogancka. Wybacz, że się nie sprecyzowałem, tak chodziło mi o MFC. I nie wiem jak wygląda designer Qt, więc może i masz racje.
Azarien
Visual Studio ma designera do WinAPI, ale nie w Express.
vpiotr
@kamilwxx, piszesz coś od czapy, do tego przez lmgtfy i masz pretensje że ktoś Ci odpowiada w podobnym tonie. Albo nie odróżniasz wersji darmowej od płatnej (bo używasz tej drugiej), albo nigdy tego softu nie używałeś. Wiadomo że w VS C++ Express (darmówka) nie masz żadnych kreatorów. Jest za to Qt Designer i wxFormBuilder (wxWidgets).
0

Witam mam problem z odjęciem od siebie dwóch liczb long double jedna ma dużo cyfr około 4930 druga mało około 4 istnieje jakaś funkcja?? tak jak % też nie działa a można to zastąpić z math.h funkcją modl(x,y)

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
0

Jak potrzebujesz dokładność do jedności to musisz użyć własnej reprezentacji dużych liczb lub użyć jakieś biblioteki których pełno w sieci.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
0

no właśnie co do jedności musi być już wiem jak nawet wyświetlać <iomanip> cout<<setprecision(ilość wyświetlanych cyfr). Szukałem w math.h na przykład ale nie znalazłem jakieś propozycje macie gdzie to znajdę dzielenie i mnożenie idzie a dodawanie i odejmowanie nie /:

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
1

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
0

Hmm Bigint słyszałem o tym ale mi ptrzebna funkcja odejmująca long double bo program już mam napisany i sprawdziłem że nie działa tylko te odejmowanie :/ a z tym Bigint trzeba będzie przebudować program co? Niestety nie znam angielskiego.

0

13th dragon uczysz programowania?? Potrzebowałbym żeby ktoś nauczył mnie obsługi długich liczb biblioteka Boost. Zainstalować to na linux i nauczyć się dodawać odejmować dzielić mnożyć i reszta z dzielenia pierwiastkowanie do tego zapis tego i odczyt plik tekstowy. Zapłacę a lekję chciałbym przez gg czy skaypa pisemnie

n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
0

Niestety nie znam angielskiego.

To sie go naucz, zanim zaczniesz myslec o programowaniu 'na serio'.

MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:4 minuty
0

Ja proponuje ci to zrobić samemu, czegoś się nauczysz.
Zapamiętuj wynik w tablicy np vector<unsigned int>. Każda komórka tablicy niech reprezentuje 6 kolejnych cyfr wyniku, którą w algorytmie będziesz traktował jak jedną cyfrę w systemie, gdzie podstawą będzie 1000000. Potem robisz mnożenie pisemne przez jedną cyfrę (bo silnie będziesz liczył zapewne maksymalnie dla 200 co się mieści w tym 1000000).
Jak zaczniesz pisać to okaże się, że możenie pisemne długiej liczby przez jedną cyfrę jest banalnie proste.
Samo wypisanie wyniku też będzie proste bo każda komórka jest już prosto reprezentowana w systemie dziesiętnym.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22
0

Nie jestem jakimś zawodowym programistą interesują mnie matematyczne zagadki pracuję właśnie nad rozwiązaniem pewnej więc żeby angielskiego się na siłę uczyć to nie wiem czy jest sens. Taką fynkcję pewnie! bez problemu napisze tylko to będzie od bidy bo nie wierze że ktoś wcześniej nie napisał czegoś takiego mający większą wiedzę progrsmistyczną i robiąc to optymalniej np przy pomocy wstawek asemblerowych czy coś. Gdzieś coś czytałem chyba google mi przetłumaczyło z angielskiego żeby tego dokonać najsprawniej trzeba zamienić te long double na binarne i je binarnie dodać albo odjąc a napisanie czegoś takiego już jest dla mnie za trudne teoretycznie zrozumiałe ale nie znam na tyle C++a. Myśle jednak że na pewno jest gdzieś taka funkcja i to nie jedna. Więc trzeba się pytać może ktoś coś pamięta i pomoże ;)

0

Angielski to podstawa. Poza tym zalamuje rece, jezeli chodzi o twoje podejscie do sprawy. Od razu uszykuj pieniadze dla kogos kto to zrobic dla Ciebie, takie moje osobiste odczucie.

0

ech.. tam mówię przecież nie jestem zawodowym programistą programowanie jest właśnie stworzone z taką zasadą że aby zjeść jabłko nie trzeba wcale mieć sadu :D żeby korzystać z funkcji wcale nie trzeba analizować jak ktoś to zrobił. Nie wiem czemu jesteś załamany moim podejściem po prostu działam na dużych liczbach odejmuje jedną od drugiej jak zwykły typ np. int i kompilator nie wyświetla mi nie skompiluje ci tego d***u poczytaj o tym i o tym tylko kompiluje a nie liczy poprawnie to mnie zadziwia ;/ a tak w ogóle to zapłacę z chęciom za nauczenie obsługi dużych liczb i programowania wielowątkowego za pomocą biblioteki Boost i to chce wiedzieć niewiele do swoich potrzeb ale chętnych nie ma

edytowany 1x, ostatnio: ŁF
fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

jestem chetny, godzinowa stawka 100 euro. Mozemy sie uczyc o czym chcesz :) Fakture tez wystawie jak bedziesz chcial.

Jezeli stawka Ci nie pasuje, no to coz... mozesz czekac na innych lub samemu sie nauczyc

0

100 euro to drogo chociaż jak bym miał pewność że nauczę się wszystkiego co chcę przez godzinę to może się kiedyś umówimy. w sumie miałem kupić tą pozycję bo jej nie mam ale wydawała mi się ta książka trudną lekturą ja mam to http://helion.pl/ksiazki/opinie/cpprim.htm naprawdę od podstaw można się wszystkiego dowiedzieć i świetne ćwiczenia programistyczne po skończonych rozdziałach

0

Nie wiem czy ten temat to troll, ale zycze powodzenia mimo wszystko ;p

0

plik odejmij.h

Kopiuj
#ifndef  ODEJMIJ_H_
#define ODEJMIJ_H_
#include<fstream>
#include<iomanip>
using namespace std;
long double od(long double x,long double y)
{short a=0,b=-2,z,z1,z2; char c; bool d=1,e;long double r;
if(y<=x)e=0;else e=1; 
ofstream plik; plik.open("plik.txt"); plik<<setprecision(3000);
plik<<x<<endl<<y; plik.close();
fstream plik1; plik1.open("plik.txt");
while(!plik1.eof())
{plik1.get(c);if(c=='\n')d=0;
if(d)a++;else b++;} plik1.close();
plik1.open("plik.txt");
if(e){short*tabw = new short[a];
      short*tab1 = new short[a];
      short*tab2 = new short[b];
for(int l=0;l<a;l++){tabw[l]==0; 
plik1.get(c);tab1[l]=c-48;}plik1.get(c);
for(int l=0;l<b;l++){plik1.get(c); 
tab2[l]=c-48;}
z=b-a;z1=b;z2=a;
for(int l=0;l<z2;l++,b--,a--){tabw[b-1]=tab2[b-1]-tab1[a-1];
if(tabw[b-1]<0){tabw[b-1]+=10;tab2[b-2]-=1;}}
for(int l=0;l<z;l++,b--){if(tab2[b-1]<0){
if(10==tabw[b-1]+10)tabw[b-1]=+9;else tabw[b-1]=+10;tab2[b-2]-=1;}
else tabw[b-1]=tab2[b-1];}
ofstream plik2; plik2.open("plik.txt");
for(int l=0;l<z1;l++){plik2<<tabw[l];}
plik2.close();
fstream plik3; plik3.open("plik.txt");
plik3>>r;plik3.close();
return r;}
else {short*tabw = new short[b];
      short*tab1 = new short[b];
      short*tab2 = new short[a];
for(int l=0;l<a;l++){tabw[l]==0;
plik1.get(c);tab2[l]=c-48;}
plik1.get(c);
for(int l=0;l<b;l++){plik1.get(c); 
tab1[l]=c-48;}
z=a-b;z1=a;z2=b;
for(int l=0;l<z2;l++,b--,a--){tabw[a-1]=tab2[a-1]-tab1[b-1];
if(tabw[a-1]<0){tabw[a-1]+=10;tab2[a-2]-=1;}}
for(int l=0;l<z;l++,a--){if(tab2[a-1]<0){
if(10==tabw[a-1]+10)tabw[a-1]+=9;else tabw[a-1]+=10;tab2[a-2]-=1;}
else tabw[a-1]=tab2[a-1];}
ofstream plik2; plik2.open("plik.txt");
for(int l=0;l<z1;l++){plik2<<tabw[l];}
plik2.close();
fstream plik3; plik3.open("plik.txt");
plik3>>r;plik3.close();
return r;}}
#endif

Napisałem funkcję long double=od(long double,long double)
można teraz odejmować jeszcze zrobię dodawanie i jeszcze jakąś funkcję bym musiał dodać żeby kasowało plik tekstowy który otwiera i zamyka funkcja plik.txt.

Shalom
I dare you! na pewno dasz radę upchnąć więcej instrukcji w jednej linijce!
_13th_Dragon
Nie chodzi o wstawianie w jednym wierszu, zaś o brak formatowania, bezsensowne nazwy zmiennych, dublowanie wartości itp.
ŁF
@_13th_Dragon - taka składnia powinna być dla Ciebie czytelna :P
0

Dla mnie liczy się to że działa nie musi to ładnie pachnieć taki mam styl minusy może takie że ciężko poprawić coś ale co tam poprawiać skoro działa. Dobrze że skończyłem tego samego dnia bo na drugi dzień albo się pochlastać albo zacząć pisać od nowa no to bym <ort>zaczoł</ort> pisać od nowa :D

Konkursu na najbardziej nieczytelny kod cpp który daje się skompilować bym nie wygrał. A teraz zobaczyłem te formatowanie na tej stronce obcina niektóre linijki uważajcie w razie czego na kopiowanie kodu. Chyba że tak mi się to wyświetla teraz tu na komórce np. Na początku long double i r; mam już w następnej linijce

edytowany 1x, ostatnio: ŁF
KA
tak z ciekawości co ta funkcja robi?
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:4 minuty
0

ja tylko dodam, że w niektórych kompilatorach long double to to samo co double...

Kopiuj
#include <stdio.h>
int main()
{
	printf("sizeof(double) == %d\n", sizeof(double));
	printf("sizeof(long double) == %d\n", sizeof(long double));
}
Kopiuj
C:\PP\myprogs\cpp>gcc longdouble.cpp -o longdouble.exe

C:\PP\myprogs\cpp>longdouble.exe
sizeof(double) == 8
sizeof(long double) == 12

C:\PP\myprogs\cpp>cl longdouble.cpp /nologo
longdouble.cpp

C:\PP\myprogs\cpp>longdouble.exe
sizeof(double) == 8
sizeof(long double) == 8

C:\PP\myprogs\cpp>
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)