Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Pomoc s programem v C

to si nemal celu definiciu *in a *out dat za to, len priradenie in=input. idealne ked premennu input uplne vyhodis, je pouzita predsa len raz a to zmenis na in. To co mas neni konformne s ANSI C.
A mas tam dat aj kontrolu na pocet parametrov.

int main(int argc, char* argv[])
{
	char output[MAX];
	int n, cnt = 0;
	char *in, *out = output, *end;

    if(argc!=3) {printf("Nespravne parametre!\n"); exit(1); }

    n = atoi(argv[1]);
    in = argv[2];
	end = in + strlen(in);
	while (in <= end) {
		if (in <= end - 2 * n && strncmp(in, in + n, n) == 0) {
			++cnt;
			in += n;
			continue;
		}
		if (cnt) {
			out += sprintf(out, "%d", cnt);
			cnt = 0;
		}
		*out++ = *in++;
	}
	puts(output);
	return 0;
	}
Pri vystupe by sa hodila aj kontrola na MAX, ale to sa mi robit nechce.

Kometnar moze robit len ten kto ten program chape. A potom nema problem urobit komentar. Takze si spusti google.com a pochop co robi kazdy riadok a potom mozes okomentovat kazdy riadok.
P.S. komentar by mal obsahovat len to co NENI v kode. T.j. ak mam kod in=argv[2] tak je hovadina pisat komentar "priradime argv[2] do in" ptz to predsa kazdy vidi z kodu, ale komentar na tomto mieste moze obsahovat ze preco potrebujem vobec nejake in, t.j. napr. komentar by tam bol "priprava startovacieho pointra pre hladanie zhody stringov" apod. Ako pisem musis to najprv CHAPAT ze preco tam je kazdy riadok a preco by to neslo bez neho.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny