pascal, tablice

mateusz.ex
Użytkownik
Użytkownik
Posty: 459
Rejestracja: 16 wrz 2008, o 20:50
Płeć: Kobieta
Lokalizacja: gradowa
Podziękował: 357 razy

pascal, tablice

Post autor: mateusz.ex »

1. Napisz program wczytujący do tablicy A n dowolnych liczb naturalnych (wartość n ma być podana w czasie wykonywania algorytmu) i podający sumę wszystkich liczb zapisanych w tablicy o parzystych indeksach (w elementach tablicy A[2], A[4]… .



nie muszą byc całe programy, prosze tylko o główne czesci programu
Ostatnio zmieniony 24 maja 2009, o 21:28 przez mateusz.ex, łącznie zmieniany 1 raz.
matshadow
Użytkownik
Użytkownik
Posty: 941
Rejestracja: 17 gru 2007, o 21:48
Płeć: Mężczyzna
Lokalizacja: Kingdom Hearts
Podziękował: 6 razy
Pomógł: 222 razy

pascal, tablice

Post autor: matshadow »

1. Deklarujesz tablicę na np. 100000 komórek i zmienna typu integer, w której będzie suma (nazwę ją sum, wyzeruj ją)
2. wczytujesz sobie n
3. wczytujesz liczby do komórek od 1 do n
4. w pętli od i=1 do n sprawdzasz czy i mod 2 jest równe 0. Jak tak, to do sum dodajesz wartość tab

Można też bez tablicy, tylko to ofcuz przekręt
Wczytujesz sobie n, deklarujesz 2 pomocnicze zmienne typu integer, w jednej będzie suma (nazwę ją sum, wyzeruj ją), a druga będzie wczytywaną liczbą (nazwę ją licz) i w pętli od i=1 do n :
a) wczytaj licz;
b) jeśli i mod 2 równe 0, to do zmiennej suma dodaj licz;
mateusz.ex
Użytkownik
Użytkownik
Posty: 459
Rejestracja: 16 wrz 2008, o 20:50
Płeć: Kobieta
Lokalizacja: gradowa
Podziękował: 357 razy

pascal, tablice

Post autor: mateusz.ex »

troche nie rozumie, bo jesli i=1 to i mod 2=0 czyli w tym przyapdku zawsze biezemy jedna liczbe, zawsze liczy i=1, mógłby ktos to rozpisac,
matshadow
Użytkownik
Użytkownik
Posty: 941
Rejestracja: 17 gru 2007, o 21:48
Płeć: Mężczyzna
Lokalizacja: Kingdom Hearts
Podziękował: 6 razy
Pomógł: 222 razy

pascal, tablice

Post autor: matshadow »

nie. i mod 2 to reszta z dzielenia i przez 2. Dla i=1 reszta jest 1, czyli nie dodaje tablica[1]. W pętli dodajesz do i jeden, czyli mamy potem i=2. Teraz i mod 2=0, czyli dodaje tablica[2] Potem i=3 nie dodaje, a potem i=4 dodaje i tak aż do i=n
mateusz.ex
Użytkownik
Użytkownik
Posty: 459
Rejestracja: 16 wrz 2008, o 20:50
Płeć: Kobieta
Lokalizacja: gradowa
Podziękował: 357 razy

pascal, tablice

Post autor: mateusz.ex »

mógłbys to napisac w jezyku programowanie, bo zabardzo nie wiek jak mam to napisac:(
matshadow
Użytkownik
Użytkownik
Posty: 941
Rejestracja: 17 gru 2007, o 21:48
Płeć: Mężczyzna
Lokalizacja: Kingdom Hearts
Podziękował: 6 razy
Pomógł: 222 razy

pascal, tablice

Post autor: matshadow »

mogę, ale w C++, bo Pascala nie umiem

Kod: Zaznacz cały

#include<iostream>
using namespace std;

int main()
{
    int ile=0,tab[100001],n;
    cin>>n;
    for(int i=1;i<=n;i++)
     cin>>tab[i];
    for(int i=1;i<=n;i++)
        if(i%2==0)
          ile+=tab[i];
    cout<<ile<<endl;
    system("pause");
    return(0);
}
mateusz.ex
Użytkownik
Użytkownik
Posty: 459
Rejestracja: 16 wrz 2008, o 20:50
Płeć: Kobieta
Lokalizacja: gradowa
Podziękował: 357 razy

pascal, tablice

Post autor: mateusz.ex »

ja nawet nie wiem co to znaczy C++
Awatar użytkownika
Mariusz M
Użytkownik
Użytkownik
Posty: 6908
Rejestracja: 25 wrz 2007, o 01:03
Płeć: Mężczyzna
Lokalizacja: 53°02'N 18°35'E
Podziękował: 2 razy
Pomógł: 1246 razy

pascal, tablice

Post autor: Mariusz M »

Kod: Zaznacz cały

uses crt;

const max=10000;

var i,n,s:integer;

a:array[1..max]of integer;

esc:char;

begin
clrscr;
repeat
repeat
writeln('Podaj ilosc liczb do wczytania');
readln(n);
until (n>0)and(n<=max);
for i:=1 to n do 
begin
write('a[',i,']=');
readln(a[i]);
end;
s:=0;
for i:=1 to n do 
if not odd(i) then 
s:=s+a[i];
writeln('Suma elementow o parzystych indeksach wynosi :',s);
esc:=readkey;
until esc=#27;
end.

mateusz.ex
Użytkownik
Użytkownik
Posty: 459
Rejestracja: 16 wrz 2008, o 20:50
Płeć: Kobieta
Lokalizacja: gradowa
Podziękował: 357 razy

pascal, tablice

Post autor: mateusz.ex »

dzieki:) a która czesc programu trzeba zmienic aby wyliczone zostały indeksy nieparzyste?
Awatar użytkownika
Mariusz M
Użytkownik
Użytkownik
Posty: 6908
Rejestracja: 25 wrz 2007, o 01:03
Płeć: Mężczyzna
Lokalizacja: 53°02'N 18°35'E
Podziękował: 2 razy
Pomógł: 1246 razy

pascal, tablice

Post autor: Mariusz M »

mateusz.ex pisze:dzieki:) a która czesc programu trzeba zmienic aby wyliczone zostały indeksy nieparzyste?

Kod: Zaznacz cały

if not odd(i) then
na

Kod: Zaznacz cały

if odd(i) then
ODPOWIEDZ