zadanie ze strukturami i funkcjami

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.

0
void how_to_pass_array_to_function(int *byPointer, int havingSize){}
3

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

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

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