Skocz do zawartości

Programowanie w języku C - pytanie kontrolne


Pomocna odpowiedź

Trudno powiedzieć co masz na myśli pisząc "poprawić". Dlaczego extern? i dlaczego te funkcje są definiowane w funkcji main? Myślę, że trzeba funkcje zdefiniować poza main i skoro mają być definiowane w tym samym pliku to extern w deklaracji niepotrzebne. Sama deklaracja musi oczywiście zostać. O to chodziło?

(edytowany)

Czytaj dokładnie. Niestety - programowanie w C wymaga umiejętności dokładnego czytania założeń...

Nie chodzi o napisanie innego programu który robi to samo tylko o sprawienie, aby ten się grzecznie skompilował.

BTW sprawdż sobie co w C znaczy słowo extern, bo na razie bredzisz smętniej niż Piekarski na mękach.

Edytowano przez ethanak

Witam

Dołączam do zabawy z bardzo starym pytaniem: (wtedy na uczelni panował ALGOL 60 🙂

Jak zamienić ze sobą wartości 2 zmiennych, bez użycia zmiennej pomocniczej?

czyli na przykład mamy: a=5, b=7 ... czary-mary i w wyniku a=7, b=5

(wskaźniki i przesunięcia bitowe nie wchodzą w rachubę 🙂)

... wygrywa rozwiązanie z najmniejszą ilością instrukcji 🙂

pozdrawiam

 

3 godziny temu, wojtekizk napisał:

czyli na przykład mamy: a=5, b=7 ... czary-mary

b%=a; // b=2
a+=b; // a=7
b=a-b; // b=5 

// cout<<"a ="<<a<<" b ="<<b;

pewnie da się jakoś inaczej.

Ja mam dwie linijki:
 

    b = (a += b) - b;
    a -= b;

Ktoś ma w jednej?

@slon - sprawdzałeś to co napisałeś dla innej pary liczb? Bo jeśli to ma działać tylko dla pary (5, 7) prościej by było:

a=7; b=5;

i po krzyku...

  • Lubię! 1

dla dowolnych liczb:

b=a+b; 

a=b-a;

b=b-a;

Pozdrawiam

dla ciekawości zadanie dla uczniów 2 klasy szkoły powszechnej w zaborze austryjackim z 1907 roku: 

Jedna cegła waży 2 kg. i pół cegły.  Ile kg. ważą 3 cegły?

... liczy się czas po którym podacie poprawną odpowiedź, proszę nie oszukiwać ,liczą się tylko szczere wypowiedzi 🙂

Z szacunku dla historii nauczania proszę nie sięgać po kalkulatory, równania itp. Tylko głowa i własna wyobraźnia....

Potem opiszę genezę w jaki sposób ówcześni uczniowie radzili sobie z takimi zadaniami w jakieś 15 sekund 🙂

Pozdrawiam 

 

51 minut temu, wojtekizk napisał:

dla dowolnych liczb:

Hm... nie jest to przypadkiem dokładnie to samo co wcześniej napisałem? Chciałeś z najmniejszą ilością instrukcji...

Dnia 2.09.2019 o 18:25, ethanak napisał:

BTW sprawdż sobie co w C znaczy słowo extern, bo na razie bredzisz smętniej niż Piekarski na mękach.

lol

Nie mam bladego pojęcia o co Ci może chodzić, racz więc łaskawie wyjaśnić. Wg. mojej wiedzy słowo extern ma zastosowanie jedynie do zmiennych podczas ich deklarowania w sytuacji kiedy zmienne te są definiowane w innej jednostce kompilacji niż ta w której się do nich odwołuje. W przypadku funkcji nie ma żadnego znaczenia i jest zwyczajnie ignorowane podczas kompilacji. Ale być może wiedzę mam niepełną tak więc jeszcze raz proszę o wyjaśnienie tejże zawiłej kwestii.

No to czego się do tego externa doczepiłeś? Przecież jak to wywalisz to program się i tak nie skompiluje, prawda?

Nie mów, że jedyną możliwością jest rezygnacja z zagnieżdżenia funkcji bo to nie wchodzi w grę (z założenia mają być zagnieżdżone).

Takie głupie pytanie - gdzie w standardzie ANSI C opisane są zagnieżdżone funkcje? Bo rozumiem że mówimy o standardowym C, a nie o rozszerzeniach jakiegoś konkretnego kompilatora.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...