zamiana z c++ na pascal

positiveee
Użytkownik
Użytkownik
Posty: 18
Rejestracja: 21 kwie 2009, o 22:13
Płeć: Kobieta
Lokalizacja: Kraków

zamiana z c++ na pascal

Post autor: positiveee »

Uczyłam się pisać w C++, jednak potrzebuję napisać program w pascalu. Sprawdza on czy w każdym wierszu tabeli jest element złożony z samych cyfr nieparzystych. Proszę serdecznie o przetłumaczenie mi go, a najważniejsze: jak stworzyć tablicę wypełnioną losowymi liczbami do 999?

Kod: Zaznacz cały

#include <iostream>
#include <iomanip>

using namespace std;

// czy w każdym wierszu macierzy jest przynajmniej jeden element składający się z liczb nieparzystych.

void wypelnij(int tab[10][10])
{
    for(int i=0; i<10; i++)
    {
        for(int j=0; j<10; j++)
        {
                tab[i][j]=rand()%1000;
        }
    }
}

void wyswietl(int tab[10][10])
{
    for(int i=0; i<10; i++)
    {
        for(int j=0; j<10; j++)
        {
            cout << setw(5) << tab[i][j] << "  ";
        }
    cout << endl;
    }
}


int main()
{
    srand(time(NULL));
    int t[10][10];
    int j, i=0;
    int k=1; // sprawdza parzystosc
    wypelnij(t);
    wyswietl(t);
    
    
    
while(i<10 && k==1)                          //  dopoki w kazdym wierszu jest element skadający sie z cyfr nieparzystych
{
    
    j=0;
    k=0;
    while(k!=1 && j<10)
    {                                   // dopoki w wierszu nie ma elementu dkladajacego sie z samych nieparzystych
    k=1;
        while(k==1 && t[i][j]>0)              // jesli k caly czas = 1, to liczba skada sie z nieparzystych
            {
                    if((t[i][j]%10)%2==0) k=0; // to parzysta
                                               // inaczej to nieparzysta
                    t[i][j]=t[i][j]/10;
                   
            }   
    j++;    
    }    

i++;
}            


if(k==1) cout << "w każdym wierszu jest element zlozony z cyfr nieparzystych";
else cout << "istnieje wiersz, w ktorym nie ma elementu zlozonego z samych nieparzystych";
    
getchar();
return 0;

}   
kompiluje sie i daje poprawne wyniki. jednak jak to będzie w pascalu?
Dzięki wielkie!
wawek91
Użytkownik
Użytkownik
Posty: 795
Rejestracja: 2 cze 2010, o 08:56
Płeć: Mężczyzna
Lokalizacja: Tarnów
Podziękował: 14 razy
Pomógł: 66 razy

zamiana z c++ na pascal

Post autor: wawek91 »

Kod: Zaznacz cały

randomize; {generator liczb pseudolosowych}

for i:= 0 to N do
  begin
    t[i] := random(1000) {losuje liczbe od 0 do N-1}
  end
N to górny indeks tablicy. i to indeks ktory wczesniej należy zadeklarować.

Oczywiście to tylko fragment programu (to o co pytałaś, że najważniejsze). Na dziś już jestem przemęczony więc całości Ci nie przetłumacze.
smiechowiec
Użytkownik
Użytkownik
Posty: 374
Rejestracja: 21 cze 2007, o 11:28
Płeć: Mężczyzna
Lokalizacja: Łostowice
Pomógł: 146 razy

zamiana z c++ na pascal

Post autor: smiechowiec »

Zwróć uwagę, że w tradycyjnym pascalu tablice numeruje się od 1, nie od 0.
wawek91
Użytkownik
Użytkownik
Posty: 795
Rejestracja: 2 cze 2010, o 08:56
Płeć: Mężczyzna
Lokalizacja: Tarnów
Podziękował: 14 razy
Pomógł: 66 razy

zamiana z c++ na pascal

Post autor: wawek91 »

Indeksy są dowolne. Tablice można ponumerować sobie zaczynając od -5, 0, 1, 10, 100 byleby tylko indeksy były liczbami następującymi po sobie i indeks górny był liczbą wyższa od indeksu dolnego. Nie robi to różnicy i jest to zostawione programiście (w nowszych językach tablice są numerowane już od 0). Tak więc nie wydaje mi się żeby był tu błąd.
ODPOWIEDZ