Pętla Pascal na C++

0

Witajcie, mam w Pascalu następującą pętlę:

for i:=1 to length(Tablica) do
begin
  writeln(plik1, Tablica[i], '-', Tablica2[i];
end; 

Chciałbym przerobić tę pętlę na C, wiem, że to pewnie banalne, ale nie wiem jak wstawić ten warunek długości tablicy. Dziękuję za pomoc.

0

jeżeli chodzi Ci o ilośc elementów w tablicy to tak:
int temp=sizeof(tablica)/sizeof(tablica[0]);
for(int i=0;i<temp;i++)
{
...
}

0

Nie ma możliwości sprawdzenia rozmiaru tablicy w C.

0

Nie ma możliwości sprawdzenia rozmiaru tablicy w C
to nieprawda.
jeśli mamy int tablica[3]; to sizeof(tablica) zwraca tyle samo co wynosi sizeof(int) * 3.
więc z dzielenia sizeof(tablica)/sizeof(int) otrzymamy ilość elementów tablicy.

problemem w języku C jest to, że tracimy rozmiar tablicy jeśli jest przekazywana jako parametr do funkcji. to wada projektowa języka, bo skoro Pascal to potrafi, dlaczego C nie mógłby?

Chciałbym przerobić tę pętlę na C
na C czy C++? bo w C++ można zdobyć rozmiar statycznie zaalokowanej tablicy przy pomocy szablonów.

0

Wynika to raczej z tego, że w C i C++ nie da się przekazać tablicy jako argumentu funkcji, a jedynie wskaźnik, który nie wie, że wskazuje na tablicę.

0

Pascal nie potrafił tego od urodzenia
a co do pontelek, przypomnę że w Pascalu można tak:
for X:= X-1 to X+1 do // pętla obróci się trzy razy

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