zadanie ze strukturami i funkcjami

Odpowiedz Nowy wątek
2015-02-02 22:56
0

Witam. Potrzebuję rozwiązania tego zadania. Jest to zadanie, na którym poległem na kolokwium i potrzebuję pomocy, jak je zrobić.

Struktura T zawiera nazwę towaru i cenę. Dane: tabela 10 zmiennych typu struktura T oraz szukana_cena. Funkcja F sprawdza, czy istnieje towar o szukanej cenie, zwraca ilość takich towarów oraz maksymalną cenę wszystkich towarów. W main() wczytać dane, wywołać i wyświetlić wyniki funkcji.

Zadanie to podobno trzeba zrobić z użyciem wskaźników, ale niestety kompletnie ich nie rozumiem. Póki co mam taki oto program:


int i;
int szuk;
struct T{
    char towar[30];
    float cena;
};
int F(){
    int j;
    float max=0;
    struct T A[i];

        if(szuk==A[i].cena)
        {
            j=j+1;//j-liczba towarów o danej cenie
        }
        if(A[i].cena>max)
        max=A[i].cena;

    return j,max;
}

int main(int argc, char *argv[]) {

    struct T A[i];
    int j;
    printf("Podaj cene szukanego towaru");
    scanf("%f",&szuk);
    for(i=0;i<10;i++)

    {
        printf("Podaj nazwe produktu\n");
        scanf("%s",&A[i].towar);
        printf("Podaj cene\n");
        scanf("%f",&A[i].cena);
        int F();}
    printf("Towar o podanej cenie wystapil %d razy",j);

    return 0;
}

Próbowałem działać coś ze zmiennymi globalnymi, nie wiem czy cokolwiek tu jest dobrze, ale przesyłam, żeby nie było że nic nie robiłem. Proszę o pomoc w zadaniu.

Pozostało 580 znaków

2015-02-02 23:01
0
void how_to_pass_array_to_function(int *byPointer, int havingSize){}

Pozostało 580 znaków

2015-02-02 23:06
3

struct T A[i]; ile wynosi i, gdy tworzysz tę zmienną?


edytowany 1x, ostatnio: Patryk27, 2015-02-02 23:07

Pozostało 580 znaków

2015-02-03 08:28
0
#include <stdio.h>
#include <string.h>

struct T
{
    char nazwa[30];
    float cena;
};

T tabela[2][10];
void F(float szuk_cen);

int main()
{

    int i;
    char temp[30];
    for (i = 0; i < 10; i++)
    {
        printf("Wpisz nazwe: ");
        scanf("%s", temp);
        strcpy(tabela[0][i].nazwa, temp);
        printf("Wpisz cene: ");
        scanf("%f", &tabela[0][i].cena);
    }

    for (i = 0; i < 10; i++)
    {
        strcpy(tabela[1][i].nazwa, "szukane_wartosci");
        printf("Podaj szukane wartosci: ");
        scanf("%f", &tabela[1][i].cena);

    }

      F(tabela[1][1].cena);
      F(tabela[1][6].cena);

    return 0;
}

void F(float szuk_cen)
{
    int licznik = 0;

    int i;
    for (i = 0; i < 10; i++)
    {
        if (szuk_cen == tabela[0][i].cena)
            licznik++;
    }

    float max = tabela[0][0].cena;

    for (i = 0; i < 10; i++)
    {
        if (tabela[0][i].cena > max)
            max = tabela[0][i].cena;
    }

    printf("Max = %f, Ilosc struktur z szukana cena = %d", max, licznik);
}

Spróbuj przeanalizować powyższy kod. Na pewno coś nie zgadza się z treścią zadania. Widać że to pewnie jakiś przykład z kolokwium albo z egzaminu ;P

edytowany 6x, ostatnio: matdziu, 2015-02-03 08:35
Jest to zadanie, na którym poległem na kolokwium :P - twonek 2015-02-03 11:08

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0