Filtrowanie liczb większych od 0 w tablicy

0

Witam mam problem odnośnie tablicy, muszę zliczyć liczbę elementów tablicy większych od zera i je wyświetlić. np. "Tablica ma 3 elementy wieksze od zera:

Próbowałem to zrobić ale za bardzo nie mam pomysłu nawet jak

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

	
	const double tab1[3] = {1, 4, 5.67}; //stala tablica

int main(int argc, char *argv[]) {
	
	printf("Tab = [%.0lf, %.0lf, %.2lf]\n", tab1[0], tab1[1], tab1[2]); //wyswietlenie stalej tablicy
	
	int i;
	double size;
	
	double *tab2 = calloc(size , sizeof(double));   //tablica dynamiczna
	
	do {
		fflush(stdin);
		printf("Podaj rozmiar tablicy : ");     //uzytkownik wypisuje rozmiar tablicy
	}while(!scanf("%lf", &size));
	
	
	for(i=0;i<size;i++){
		do{
			fflush(stdin);
		printf("tab[%d] = ",i);                   //uzytkownik wypisuje dane do tablicy
		}while(!scanf("%lf", &tab2[i]));
	}
	printf("------------------------------------------------\n");
	for(i=0;i<size;i++){
		printf("tab[%d] = %.2lf\n", i, tab2[i]);     //wypisanie danych
	}
	
	//printf("%lf",tab2[i]);
	
	free(tab2);
	return 0;
}
2

double size

WUT?

double size;
double *tab2 = calloc(size , sizeof(double)); //tablica dynamiczna

WUT2?

0

widzialem na prezentacji size_t size w callocu jednak zabardzo nie wiedzialem co to jest wiec uzylem zmiennej size

1

widzialem na prezentacji size_t size w callocu jednak zabardzo nie wiedzialem co to jest wiec uzylem zmiennej size

size_t to typ a ty pchasz tam zmienna typu double i to jeszcze niezainicjalizowana

0

tylko jak wpisuje double *tab2 = calloc(size_t , sizeof(double)); to wypisuje mi błąd. A jak dalem tam zmienna size to zadzialalo

0

@KamilAdam:

Czepiasz się
tak w tych googlach było (używam świadomie liczby mnogiej)

Żadne dwie linie nie są jednego autora.

0

masz kod podstawowy. Resztę se rozwiń jak ci się podoba

int main()
{
    double numbers[]={1,2,0,0,4,0,6,7,22.3,44.2};
    int size = sizeof(numbers) / sizeof(double);

    for(int i=0; i<size; ++i){
        if(numbers[i]>0){
            printf("%f\n",numbers[i]);
        }
    }

    return 0;
}

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