program wypisujacy najwczesniejsza date

0
#include <stdio.h>
int main(void)
{
	int dzien[i],miesiac[i],rok[i],n,i;
	printf("Podaj liczbe dat:");
	scanf("%d", &n);
	for(i=1,i<=n;i++)
		{
		printf("Podaj date: (dd/mm/rr):");
		scanf("%d/%d/%d", &dzien[i],&miesiac[i],&rok[i]);
	while(dzien==0||miesiac==0||rok==0){
	break;}}
		if(rok1<rok2&&rok3<rok1&&rok4<rok1)
		{printf("/nNajwczesniejsza data to:%d%d%d", dzien1,miesiac1,rok1);}
		if(rok1==rok2==rok3==rok4&&miesiac1<miesiac2<miesiac3<miesiac4)
		{printf("/nNajwczesniejsza data to:%d%d%d", dzien1,miesiac1,rok1);}	if(rok1==rok2==rok3==rok4&&miesiac1==miesiac2==miesiac3==miesiac4&&dzien1<dzien2<dzien3<dzien4)
	{printf("/nNajwczesniejsza data to:%d%d%d", dzien1,miesiac1,rok1);}
	return 0;
}

Witam pomoze ktos zrobic tyle udalo mi sie zrobic ale mi nie kompiluje cos kodu

Chce by sposrod kilku np 4 wpisanych przeze mnie dat pokazywal najwczesniejsza.

1

Definiujesz tablice dzien[i] i pozostałe, zanim wczytasz n. Proponuję użyć struktury na datę.
Zdefiniuj sobie funkcję porównującą datę. Następnie funkcję sortującą.

1

C nie znam a w C++ dawno było, ale bym to zrobił tak, że wczytał sobie pierwszą datę do jakiejś zmiennej i potem w pętli leciał po pozostałych i sprawdzał, czy ta w tej zmiennej jest mniejsza niż ta obecnie sprawdzana, jeżeli tak, to do zmiennej wrzucasz tę datę, jeżeli nie to nie robisz nic.
Na końcu masz datę która jest najmniejsza.

1

Tablica nie jest ci potrzebna. Potrzebujesz zmienną najstarszy czas, który aktualizujesz zmienną w której trzymasz wczytany czas.
Radzę też podzielić to na mniejsze fragmenty (nie wszystko w main).
I sformatuj ten kod tak jak ci IDE podpowiada.

2

@Matx91:

int dzien[i],miesiac[i],rok[i],n,i;

Deklarujesz 3 tablice o rozmiarze 'i' który nie jest zdefiniowany nigdzie wcześniej, dlatego masz błąd kompilacji.

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