• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie z programowania w C

Aruba Cloud - Virtual Private Server VPS
0 głosów
605 wizyt
pytanie zadane 12 stycznia 2021 w C i C++ przez grzecho123 Początkujący (450 p.)

Próbowałem zrobic zadanie: 

Utwórz strukturę, która będzie odpowiadać zapisowi punktu w przestrzeni 3D, czyli będzie posiadać trzy składowe np. X,Y,Z. Napisz dwie funkcje - pierwsza typu void przyjmująca wskaźnik do struktury, która wypełni składowe losowymi liczbami z przedziału od -3 do 3. Druga typu bool, przyjmująca dwa wskaźniki na struktury, która porówna oba punkty pod kątem identyczności i zwróci odpowiednią wartość logiczną. Do odwoływania się do składowych wskaźnika struktury wykorzystaj operator wyłuskania składowej, czyli strzałkę ->.

Mój kod wygląda tak:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

struct trzyd
{
    int x,y,z;
};

void losowe(struct trzyd *a)
{

    a->x=(rand()%7)-4;
    a->y=(rand()%7)-4;
    a->z=(rand()%7)-4;
}

bool porownanie
{
    ;
}

int main()
{
    srand(time(NULL));
    struct trzyd *s;
    losowe(&s);
    return 0;
}

Po pierwsze wiem, że zrobiłem jakiś błąd w generowaniu tych liczb losowych ale nie wiem jaki. Moje pytanie jest odnośnie funkcji bool, gdyż w treści zadania jest napisane by porównać oba punkty pod względem identyczności, ale skąd ja wezmę oba punkty? Muszę zrobić tablicę wskaźników czy na jakiej zasadzie ma to polegać?

1 odpowiedź

0 głosów
odpowiedź 12 stycznia 2021 przez SzkolnyAdmin Szeryf (89,570 p.)
Co do porównania, to wygeneruj dwa punkty w przestrzeni 3D i podeślij wskaźniki do nich po funkcji porównującej.
komentarz 12 stycznia 2021 przez grzecho123 Początkujący (450 p.)
a dlaczego dałeś to jako const? I oczywiście dziękuję za poprawki
1
komentarz 12 stycznia 2021 przez tkz Nałogowiec (42,020 p.)
A chcesz to zmieniać? Moim zdaniem(podobnie jak w innych językach na przykład Rust) zmienne domyślnie powinny być const(częściej spotykane - immutable). const w parametrze daje pewność, że struktura nie ulegnie zmianie, bo tego nie chcemy.
komentarz 12 stycznia 2021 przez grzecho123 Początkujący (450 p.)
Nie chce zmieniać po prostu chcę wiedzieć po co jest cos użyte, gdyż dopiero uczę się programować, a jak nie zapytam to później gdzieś wyjdzie w kodzie moja niewiedza.
komentarz 12 stycznia 2021 przez tkz Nałogowiec (42,020 p.)
Błędnie zinterpretowałeś pierwsze pytanie. A chcesz zmieniać strukturę wewnątrz funkcji? No nie chcesz, to dla pewności, że tego nie zrobisz dodajesz const. Przy próbie modyfikacji czegoś z const, kompilator rzuci błąd.
komentarz 12 stycznia 2021 przez grzecho123 Początkujący (450 p.)
Aaa ok źle zrozumiałem

Podobne pytania

0 głosów
1 odpowiedź 1,049 wizyt
pytanie zadane 14 czerwca 2018 w C i C++ przez Mithriandil Początkujący (250 p.)
0 głosów
1 odpowiedź 214 wizyt
pytanie zadane 28 kwietnia 2020 w C i C++ przez Hubertius Bywalec (2,970 p.)
0 głosów
1 odpowiedź 667 wizyt
pytanie zadane 4 kwietnia 2020 w C i C++ przez Hubertius Bywalec (2,970 p.)

93,326 zapytań

142,323 odpowiedzi

322,391 komentarzy

62,655 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...