@wojtek4531 to są zadania które wymagają nie tyle wiedzy programistycznej a matematycznej. szczerze to każdy kurs z tych podstawowych zawiera informacje które pozwalałyby to rozwiązać na poziomie technicznym. tutaj bardziej chcą Cię nauczyć tłumaczenia zdań na algorytm. spróbuj rozwiązać tę zadania na kartce i każdy krok dla każdego przypadku opisz sobie a potem te wszystkie kroki i warunki zawrzyj w kod, jakbyś miał problem to napisz priv to spróbuję Ci jedno zadanie
  • Odpowiedz
Siema, pomógłby ktoś z tym zadankiem z programowania (c++)?

Napisz program, który wczytuje N liczb z klawiatury oraz:
a. Wypisuje na ekran x-razy liczbę 0, gdzie x = średnia wprowadzonych liczb

siedzę już nad nim sporo i nie mogę nic konkretnego wymyśleć|| mam jedynie taki fragment kodu:

#include
using namespace std;

int main()
{
int n;
cout << "Ile liczb chcesz wpisac? :" << endl;
cin
jak cpp to użyj srd::array. potem for-ranged loop i dodajesz w każdym kroku do sumy. sume dzielisz na n i kolejny for loop z wypisaniem zer.
  • Odpowiedz
Nie mam już pomysłu co jest nieteges i jakim hasłem wołać wyszukiwarkę :/ Mirko jeszcze nigdy nie zawiodło!

Używam w kodzie SysTick, w którego przerwaniu inkrementuję zmienną uint32. Ta zmienna ma służyć jako flaga wykonania regulacji, a konkretniej ma zastąpić wywoływanie funkcji timerem.
Teoretycznie wszystko działa, zmienna w każdym przerwaniu jest coraz większa, ale w momencie kiedy ma wartość 999 cały program zawiesza się/przestaje inkrementować jakby SysTick przestał działać.
Warunek wykonania funkcji
Mam przykaz na jak najbardziej bare metal


@macgajster: jaki to procek? Co ma bare metal do podłączenia debuggera?

No i z racji, że nie jest to projekt amatorski, a praco-dydaktyczny, to nie mogę go udostępniać, bo będzie przypał :(


To na privku, nie powiem nikomu.
  • Odpowiedz
@kacpervfr: tak najprościej i bez przemyślenia to wewnątrz for:

if(d==13){
printf("\n");
printf("\n");
}

Chyba ze chcesz zeby było po równo znaczków na górze i dole niezależnie po ilu zamykasz fora
  • Odpowiedz
ostrzeżenie: main zwykle jest funkcją

; cat c.c
const short main[] =
{
-31928, 8428, -30392, 19686, 13709, 44, 0, 4536,
0, 16640, 23690, -250, -3200, -30555, 1628, 18687,
-14081, -4235, -16130, -30392, -17721, 17, 0, 1295,
-6216, 0, 18432, -207, 1295, -10282, -12604, -13376,
-10875, -16180, -15913, -12604, -13376, 175
};
; cc -Wall -Wl,-z,noseparate-code c.c
c.c:1:13: warning: ‘main’ is usually a function [-Wmain]
1 | const short main[] =
|
@Morritz: tu źródło jakby co (nie że jest trudne do deasemblacji ( ͡° ͜ʖ ͡°))

bits 64
STR_LEN equ (str.end - str)
global _start
_start:
sub rsp, 32
mov rsi, rsp
lea r14, [rel str]
mov rax, STR_LEN
.xor:
mov bl, [r14 + rax - 1]
xor bl, 0a5h
mov [rsi + rax - 1], bl
dec rax
jnz .xor


inc al ; write
mov rdi, rax
  • Odpowiedz
Z jednej strony stoi #jezykc i ciekawość działania systemu, jak kolega ostatnio opowiadał jak działa SEGFAULT naprawdę mnie to wciągnęło, plus kwestia nauki #cpp żeby grzebać przy QMLkach w pracy - czyli zwiększanie swojej wartości w pracy.

Z drugiej strony stoi chęć pisania tego co lubię, czyli #csharp i #wpf - to mi sprawia przyjemność i po prostu lubię to robić.

Co byście wybrali? W czym się rozwijać? Kumpel raz wspominał żeby
@NewEpisode:

Jeśli chodzi o pieniądze to najwięcej w tej chwili jest w szeroko pojętej web developerce. Patrząc że lubisz C# i WPF to najbliżej Ci będzie do ASP.NET Core. Aplikacje desktopowe zwłaszcza w takich jedno platformowych technologiach jak WPF to nisza. Do tego jak znasz C# i frameworki dotnetowe to po będzie Ci łatwiej się przesiąść na ASP.NET Core

Poza tym nikt Ci nie broni pracować w tym co lubisz i
  • Odpowiedz
Na pierwszym semestrze #studbaza na #jezykc profesorek podrzucił nam gotowca w .doc
Bazując na nim mieliśmy napisać program do sprawdzania czy w danym ciągu występuje liczba. Dziwnym trafem nikomu ten kod nie działał, ale jak się go przepisało, to normalnie śmigało. Okazało się, że coś się #!$%@?ło z plikiem i przed "!" było U+200B czyli spacja o zerowej szerokości xD
#zalesie #pdk #programowanie
shiningsky - Na pierwszym semestrze #studbaza na #jezykc profesorek podrzucił nam got...

źródło: comment_1628506198bNdimGGQRkc3rmnu9TIJFk.jpg

Pobierz
Czego uczą na tych studiach w #uk to ja nawet nie

Zatrudniamy nowego programiste do nas do biura, wymagania #java, lub coś z okolic Embedded C/C++. #cpp #embedded #arduino #jezykc

Przychodzi typ skończył studia niecały miesiąc temu - software engineering.

Przychodzi jako ekspert od Javy, pokazuje swoje projekty apek na Androida, pokazuje jak działają, dokumentacja na 60 stron, jakieś kursy dupixy itp.

Wszystko fajnie, pewno zatrudnimy tylko potrzebuje rozwiązać prosty kod
sorek - Czego uczą na tych studiach w #uk to ja nawet nie

Zatrudniamy nowego progr...

źródło: comment_1628173883AR6qIJDar0M8kWZanpaWIx.jpg

Pobierz
#jezykc


@Passer93: #!$%@?, Stroustrup nie mógł nazwać tego języka D (chyba wtedy jeszcze nie było D, a nawet jak było to gurwa Z mógł go nazwać, a nie C with classes). Jedyne, co mnie interesuje to język C, a nie C z klasami i zero-cost abstractions, które żeby były zero-cost to muszą wyglądać jak chińskie krzaczki. Niech sobie będą, ale dlaczego elegancja najprostszego języka wysokiego poziomu musi być mieszana z obrzydliwym
  • Odpowiedz
Niech ktoś mnie oświeci, bo chyba czegoś nie rozumiem. Wcześniej myślałem, że jeden wątek może działać tylko na jednym rdzeniu, ale odpalam sobie taki program i dostaję w pętli różne id rdzeni:

#include
#include
#include
#include

bool running = true;
void sigint_handler(int arg) {
  running = false;
  printf("SIGINT\n");
}

int main(int argc, char *argv[]) {
  signal(SIGINT, sigint_handler);

  while (running) {
    unsigned int apic_id;
    asm volatile (
      "mov $1, %%eax\n"
      "cpuid\n"
      "mov %%ebx,
@zwei: Ogólnie to wątek nie ma przypisanego konkretnie jakiegoś rdzenia, to jest zarządzane przez scheduler OS-a. Więc domyślnie jeden wątek będzie się wykonywał w danym momencie na jednym rdzeniu, ale na jakim to decyduje scheduler.

Przypisanie wątku czy procesu do konkretnego rdzenia/cpu nazywa się "CPU affinity". W Linuxie można to kontrolować poleceniem taskset
EDIT: formatowanie
  • Odpowiedz
Może ktoś mi podpowie z C. Mam 1000 stringów o tej samej długości i muszę wybrać przez input string 342 oraz 954, żeby zamienić ich zawartość miejscami.

Algorytm zamiany str1 z str2 jest taki:

for (i = 0; str1[i] != '\0'; i++)
{
tmp = str1[i];
str1[i] = str2[i];
str2[i] = tmp;
}

Jak podstawić str342 oraz str954 przez input?

#jezykc #programowanie
@Zian: Jesteś pewien, że czegoś nie pomyliłeś? Mając 1000 tablic w stylu char str1[] = "abc" niestety nie jesteś w stanie jakoś dopisać numeru podczas gdy program działa i jeżeli użytkownik wprowadzi 2 liczby to bez tablicy się tam nie dostaniesz w rozsądny sposób (zrobienie 500 000 ifów nie jest rozsądnym rozwiązaniem).

Potrzebujesz przynajmniej użyć char *ptr[] = {str1, str2, str3, ..., str1000}. I wtedy robisz swapa bez problemu https://pastebin.com/Sn1tnVh2
  • Odpowiedz