Portal internetowy i Darmowy Kurs Programowania C++
  Forum C++
 
=> Nie jesteś jeszcze zarejestrowany?

Rzeczy związane z C# Dobrze zaczac od drugiej strony

Forum C - Tablice

Znajdujesz się tutaj:
Forum C => Kursy => Tablice

<-Powrót

 1  2  3  4  5  6  7  8 Dalej -> 

admin
(18 postów dotychczas)
13.02.2008 22:49 (UTC)[zacytuj]
Tablice
Tablice to kolenja rzecz, która może uprzyjemnić programowanie. Tablica to zbiór określonej liczby obiektów powiązanych w pewien logiczny związek. Wszystkie takie obiekty muszą być tego samego rodzaju. Nie można w tablicy umieścić kilku różnych zmiennych. Zaczniemy od najprostrzych tablic zawierających liczby. Oto przykład:

int tablica_liczb [10];
To jest właśnie nasza tablica. Wystarczyło dodać tylko dwie klamerki oraz liczbę elementów, aby osiągnąć cel. Zwróć uwagę, że tablica taka, podobnie, jak zmienne nowo definiowane zawiera śmieci. Jeśli tylko chcemy to możemy dokonać inicjalizacji tablicy razem z definicją. Robi się to w taki sposób:

int tablica [6] = {3,5,2,1};
Zauważ, że tablica jest sześcio elementowa. My podaliśmy jedynie cztery. W takiej sytuacji kompilator zakłada, że pozostałe dwa elementy mają zostać wyzerowane. Zatem zapis: int tablica[6] = {3,5,2,1}; jest jednoznaczny z: int tablica[6] = {3,5,2,1,0,0};. Idąc dalej tym tropem okaże się, że w prosty sposób możemy wyczyścić całą tablicę już przy definicji. Piszemy tak:

int tablica [6] = {0};
Tym sposobem mamy sześcio elementową tablicę zawierającą liczby typu int. Dodatkowo wszystkie te liczby posiadają wartość zero. Jeśli korzystamy z takiej formy inicjalizacji tablic to możemy całkowicie pominąć jej rozmiar. Konkretniej:

int tablica [] = {2,4,8,16};
Spowoduje, że otrzymamy cztero elementową tablicę wypełnioną odpowiednimi wartościami. Zauwż, że jawnie nie podaliśmy rozmiaru naszej tablicy, a jedynie wartości poszczególnych jej elementów. Kompilator wówczas przyjmie, że tablica ma posiadać tyle elementów, ile chcemy zainicjalizować, czyli cztery. Zobacz teraz, w jaki sposób można odnosić się do konkretnych elementów tablicy:

int tablica_liczb [4] = {0}; //tablica zawiera same zera
tablica_liczb [0] = 34; //zapisanie wartości 34 pod indexem 0
tablica_liczb [1]++;//inkrementacja wartości spod indexu 1
tablica_liczb [2] -= 23; //zmniejszenie wartości zapisanej pod indexem 2 o 23
tablica_liczb [3] = tablica_liczb [0] + 7; //pod indexem 3 umieszczamy wartość elementu z indexu 0 powiększonego o 7
//tablica_liczb [4] = 34; UWAGA!! tablica zawiera tylko 4 elementy!
Najpierw oczywiście definicja naszej cztero elementowej tablicy. Dla wygody zerujemy wszystkie elementy. Następnie kilka przykładowych operacji na elementach tablicy. Dostęp do elementów uzyskujemy dzieki operatorowi [] oraz podaniu odpowiedniego indexu. Zwróć uwagę na bardzo istotną rzecz! Elementy tablicy numerowane są od zera! Dlatego pierwszy element ma index [0], drugi - [1], trzeci - [2], czwarty - [3]. To koniec, więcej elementów nie ma. Zatem ostatnia linijka została opatrzona komentarzem. Należy o tym pamiętać i nie przekraczać zakresu tablicy, bo może to zaowocować nawet załamaniem programu!

tablice znakowe, czyli.. stringi
Do tej pory poznaliśmy jedynie tablice służące do przechowywania liczb. Były to liczby całkowite. Teraz zapoznamy się z tablicami znakowymi, nazywanymi ciągami znakowymi lub najkrócej - stringami. Stringi służa do przechowywania znaków, a co za tym idzie całych słów, fraz, wyrażeń. Jednym słowem wszelkiego rodzaju textu. Tradycyjnie wyjdźmy od przykładu:

char string [30];
Nasz string jest 30-elementową tablicą typu char. Obecnie zawiera on jakieś śmieci, jak wszystko, co nie zostało zainicjalizowane. Aby wstawić do stringu jakiś konkretny text należy podstawić pod każdy z jego indexów odpowiednie znaki. Spójrz:

string [0] = 'd';
string [1] = 'o';
string [2] = 'w';
string [3] = 'o';
string [4] = 'l';
string [5] = 'n';
string [6] = 'y';
string [7] = ' ';
string [8] = 't';
string [9] = 'e';
string [10] = 'x';
string [11] = 't';
string [12] = '\0';//to jest znak kończący string
string [13] = 't';
string [14] = 'e';
string [15] = 'g';
string [16] = 'o';
string [17] = ' ';
string [18] = 'n';
string [19] = 'i';
string [20] = 'e';
string [21] = ' ';
string [22] = 'm';
string [23] = 'a';
string [24] = '\0';
Jak widzisz taka zabawa w podstawianie. Oczywiście takie operacje w normalnych warunkach wykonuje się funkcją strcpy. O funkcjach bibliotecznych kiedy indziej. Ważne jest, abyś wiedział, jak to działa. Pamiętaj, że podstawiane znaki umieszczamy w apostrofach. Nie myl z cudzysłowami! String musi także posiadać znak kończący. Zwróć uwagę, że my wstawiliśmy znak końca stringu na pod indexem 12. W wyniku tego wszystko, co znajduje się za nim praktycznie nie istnieje. Mała wzmianka odnośnie inicjalizacji stringów. Definiując ciąg można od razu go zainicjalizować w taki sposób:

char string [13] = "dowolny text"; //lub tak: char string[] = "dowolny text"
Zauważ, że nasz string mieści 13 znaków, zaś cały text dowolny text to 12 znaków. ten 13 znak to nasz znak kończący. Nie jest on widoczny, ale musi istnieć. Pamiętaj jeszcze, że taki sposób podstawienia textu do tablicy jest możliwy jedynie podczas inicjalizacji. Później tak nie można:

char string [13] = "dowolny text"; //ok
//char string = "inny text"; tak nie wolno!
rozmiar tablicy
Czasem zachodzi potrzeba pobrania rozmiaru tablicy bądź też ilości jej elementów. Można to zrobić korzystając z operatora sizeof

int liczby [4];
int rozmiar_tablicy = sizeof (liczby);//rozmiar tablicy w bajtach
int ilosc_elementow_tablicy = rozmiar_tablicy / sizeof (int);//ilość elementów tablicy
tablice wielowymiarowe
Tablice wielowymiarowe to nic nadzwyczajnego, ale dobrze działa na wyobraźnię Popatrz:

int tabliczka [100] [20] [10];
Potrafisz sobie to wyobrazić? Tablica składa się ze 100 elenentów. Każdy z nich to także tablica zawierająca dodatkowo 20 elementów. Jakby tego było mało każda z 20 tablic zawiera jeszcze po 10 elementów :-/ Żeby było łatwiej powiem tak. Nasza tabliczka to blok mieszkalny, w którym znajduje się 100 wejść [pierwszy wymiar]. W każdej klatce jest oczywiście winda. Dzięki niej możemy się przemieszczać między piętrami. Pięter jest 20 [drugi wymiar]. Na każdym piętrze znajduje się po 10 mieszkań [trzeci wymiar]. Jeśli czegoś nie zrozumiałeś to nic nie szkodzi. Tak naprawdę tablice trójwymiarowe są stosowane sporadycznie. Częściej korzysta się z dwuwymiarowych, ale również rzadko. O ile sobie przypominam to nigdy nie korzystałem z tablic większych, niż dwuwymiarowe.

Gabriel (Gość)
19.07.2010 04:16 (UTC)[zacytuj]
All estero, sia per dell Istituto alla security per lo studio elaborazione delle carte prepagate gemelle lanciate da una all altra. Una parte del suo credito, sono contabilizzati come un indicatore intorno posto in vendita il bollettino illustrativo differenziano per pagarlo. Le Postepay Twin francobollo prodotti filatelici saranno poligrafico Zecca.
Banca del gottardo
Sheepacachges (Gość)
20.11.2010 14:45 (UTC)[zacytuj]
SEO оптимизатор. Обеспечиваю продвижение сайтов. Стоимость работы от 50 у.е. в месяц.



ICQ 625-466-909

SEO продвижение ресурса можно разделить на две части:
1) Внутренняя оптимизация - это работа с содержимым ресурса; тексты, html-код, структура сайта и тд.
Всё это необходимо привести в соответствие с требованиями релевантности поисковиков.
2) Внешние факторы - это качество и количество ссылающихся ресурсов на Ваш сайт. Чем больше ресурсов цитируют (ставят ссылки, рекомендуют Ваш ресурс, тем лучше он выглядит в глазах поисковых систем.
Важно, проводив SEO для сайта, не использовать запрещенные методы продвижения, иначе это может негативно сказаться на позициях вплоть до полного исключения сайта из индекса поисковой системы.

Вот, вкратце, из чего состоит SEO, как продвижение сайта. Это всё конечно поверхностно, потому как каждый из этих пунктов имеет множество этапов, нюансов и правил.

Особый пакет услуг SEO. Стоимость от 300 у.е.

Особый пакет услуг – это разовый комплекс работ над вашим сайтом, направленый на то, чтобы сделать его наиболее оптимизированным под поисковые системы. Приблизительные сроки выполнения - 4-6 недель.

Этап 1
Анализ SEO состояния сайта
Обзор сайта, планирование оптимизации и продвижения
Анализ сайтов "конкурентов"
Анализ и подбор ключевых слов
Оптимизация мета-данных (подбор ключевых слов, заголовков, описаний
Оптимизация кода (первое предложение, тэги H1, жирный и курсив текст и т.д.)
Интегрирование системы для обмена ссылками

Этап 2
Создание карты сайта
Создание динамической RSS ленты новостей
Оптимизация ссылок (Search Engine Friendly URLs)
Проверка кода на соответствие стандартам W3C

Этап 3
Регистрация в поисковых системах и каталогах
Оптимизация контента
kran mostovoy (Gość)
30.07.2011 22:26 (UTC)[zacytuj]
Astonishing article . Will definitely copy it to my blog.Thanks
mortgage lenders colorado (Gość)
04.08.2011 21:43 (UTC)[zacytuj]
Great information. It's really useful. Thanks

Odpowiedz:

Twój nick:

 Kolor tekstu:

 Wielkość tekstu:
Zamknij tagi



Tematy łącznie: 19
Posty łącznie: 56
Użytkownicy łącznie: 48
Obecnie online jest (zarejestrowanych użytkowników): Nikt crying smiley
 
 
   
 
Ta strona internetowa została utworzona bezpłatnie pod adresem Stronygratis.pl. Czy chcesz też mieć własną stronę internetową?
Darmowa rejestracja