Autor Wątek: Przechowywanie x wyrazow do pozniejszego wyswietlenia.  (Przeczytany 3991 razy)

Offline Kyroaku

  • Użytkownik

  • +2
# Maj 10, 2015, 13:57:15
Cytuj
Gdzie tu odpowiedz ? Przeciez to ten sam kod ktory wkleilem.
Nawet nie wiem, co powiedzieć... Pomyśl w końcu, jeśli na prawdę chcesz się czegoś nauczyć.

Programista nie raz szuka głupiego błędu przez 3 dni, a Ty mnie pytasz o takie coś po 5 minutach ? Proszę Cię... Zacznij programować samodzielnie.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline _user

  • Użytkownik

  • +3
# Maj 10, 2015, 14:07:48
Faktycznie, moze sie troche nie przylozylem intelektualnie na poczatku, ale juz rozwiazalem problem, dzieki :)
      for (int i = 1; i < hm; i++) {
for (int j = 1; j < hm; j++) {
  if (strcmp(n[j - 1], n[j]) > 0) {
    strcpy(t, n[j - 1]);
    syy[0]=y[j - 1];
    sxx[0]=x[j - 1];
    strcpy(n[j - 1], n[j]);
    y[j - 1]=y[j];
    x[j - 1]=x[j];
    strcpy(n[j], t);
    y[j]=syy[0];
    x[j]=sxx[0];
  }
}
      }
« Ostatnia zmiana: Maj 10, 2015, 14:31:57 wysłana przez _user »

Offline draghan

  • Użytkownik

# Maj 10, 2015, 17:07:05
Jeszcze słówko ode mnie odnośnie tablic.
W C możesz sobie utworzyć tablicę wielowymiarową, załóżmy: o dwóch wymiarach. Np. tak:
int tab[4][5];
Możesz powiedzieć, że to tablica 2-wymiarowa, ale równie dobrze możesz powiedzieć, że właśnie stworzyłeś 4 tablice, z których każda z nich składa się z tablicy 5-elementowej.

Przy dwóch wymiarach może i to ma mało sensu, ale np. przy siedmiu...?

Poza tym, tak już na marginesie, traktowanie tablic w C jak wskaźników wcale nie jest (według mnie) jakąś niedorzecznością. Przecież nazwa tablicy jest wskaźnikiem do jej pierwszego elementu...
Możesz, dla przykładu, przetestować taki kod:
int tab[3];
tab[0] = 15;
tab[1] = 20;
tab[2] = 25;
printf("%d", *tab);
printf("%d", *(tab + 1));
Oczywiście dużo wygodniejsze są operatory indeksowania, ale tylko chciałem zasygnalizować, że pod maską tablicy nie kryje się jakiś szczególnie wyszukany mechanizm - jest to tylko "przykrywka" dla wskaźników, z dodatkową zaletą wydajnościową (rezerwowanie całych bloków pamięci, szybki dostęp do danych).
« Ostatnia zmiana: Maj 10, 2015, 19:35:36 wysłana przez draghan »

Offline Kos

  • Użytkownik
    • kos.gd

# Maj 10, 2015, 19:00:04
Z tego co kojarzę to w języku c [][] to tablica dwuwymiarowa(dane są ułożone po kolei w pamięci) a tablicy tablic nie nie ma(trzeba samemu zrobić) a w innych językach zazwyczaj wielowymiarowe to [,] a [][] to właśnie tablice tablic(jak się mylę to niech ktoś mnie naprostuje).

Yy, a jest coś poza C# co oferuje [,] i [][] jako różne rzeczy?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Maj 10, 2015, 21:14:18
Yy, a jest coś poza C# co oferuje [,] i [][] jako różne rzeczy?
W zwykłym C/C++ jak napiszesz [,] zadziała Ci operator przecinka. Jest to definitywnie różne od [][]. ;)