Problem z kompilowaniem programu C

Problem z kompilowaniem programu C
Bezpiecznik Żołnierz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Cześć,
mam problem z tym programem w C — kompilator wyrzuca błąd, a nie mogę dojść, dlaczego.
Czy ktoś mógłby mi pomóc?

Kod poniżej:

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

int policzSume(int *tab, int n)
{
    int suma = 0;
    for(int i = 0; i < n; i++)
        suma += tab[i];
    
    return suma;
}

int main()
{
    int n;
    printf("Podaj liczbe elementow: ");
    scanf("%d", &n);

    int *tablica = malloc(n * sizeof(int));

    for(int i = 0; i < n; i++)
    {
        printf("Element %d: ", i);
        scanf("%d", &tablica[i]);
    }

    int wynik = policzSume(tablica, n);
    printf("Suma = %d\n", wynik);

    free(tablica);
    printf("Średnia = %d\n", policzSrednia(tablica, n));

    return 0;
}
SI
  • Rejestracja: dni
  • Ostatnio: dni
3

Po pierwsze kod dajemy w tagach, po drugie nie masz funkcji policzSrednia, po trzecie, próbujesz korzystać z tablicy której już NIE MA

BR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 30
0

Kod łatwiej się czyta jak użyje się odpowiednich znaczników. Szczegóły w sekcji kod źródłowy po kliknięciu w "Instrukcja obsługi Markdown" (pojawia się podczas pisania).
Druga sprawa to dobrze jest wkleić komunikat kompilatora - to ułatwia / przyspiesza sprawę dla osoby pomagającej.

Co do kodu to jak wyżej.
Nie masz takiej funkcji jak policzSrednia. Jest tylko policzSume. (printf("Średnia = %d\n", policzSrednia(tablica, n));)
Linijkę powyżej zwalniasz pamięć przydzieloną dla tablica po czym próbujesz jej użyć. To co się tam znajduje może nie być już tym czego oczekujesz.

ŁF
  • Rejestracja: dni
  • Ostatnio: dni
2

kompilator wyrzuca błąd

Przeczytaj jego treść ze zrozumieniem, zrób samodzielnie research w internecie. Kompilator nie po to rzuca błędami z opisem i numerem linijki, żeby zgadywać co nie tak, tylko po to, żeby błąd znaleźć od razu.
Opcja dla leniwych: użyj AI (Gemini, ChatGPT, ...), która szybko poda powód błędu, wytłumaczy skąd się wziął i wygeneruje poprawny kod.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0

https://godbolt.org/z/v83KGfqoh

Kopiuj
<source>: In function 'main':
<source>:31:30: error: implicit declaration of function 'policzSrednia' [-Wimplicit-function-declaration]
   31 |     printf("Średnia = %d\n", policzSrednia(tablica, n));
      |                              ^~~~~~~~~~~~~

Gdzie masz: policzSrednia?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.