c++ problem ze zrozumieniem treści zadania

1

Witam!

Mam problem ze zrozumieniem treści polecenia: "Utworzyć tablice zawierającą n liczb całkowitych nieparzystych. Obliczyć ilość elementów tej tablicy które są większe od swoich dwóch sąsiadów"

O co dokładnie chodzi w poleceniu?

0

Masz utworzyć tablice zawierającą n liczb całkowitych nieparzystych, oraz obliczyć ilość elementów tej tablicy które są większe od swoich dwóch sąsiadów..
Czego nie rozumiesz?? Nie wiesz co to liczba nieparzysta czy nie potrafisz stwierdzić która liczba jest większa?? A może nie wiesz co to tablica??

0

nie bardzo rozumiem "...większe od swoich dwóch sąsiadów."?

0

tzn. tab[x-1]<tab[x]>tab[x+1]?

0

W tablicy masz liczby 1,2,3,4,5,6,7,8,9,10
sąsiadami liczby 2 są 1 i 3.
sąsiadami liczby 3 są 2 i 4.
i tak dalej..
Liczby 1 i 10 nie mają dwóch sąsiadów.

edit:

tzn. tab[x-1]<tab[x]>tab[x+1]?

tak:)

0

tzn. ilość elementów tej tablicy które są większe od swoich dwóch sąsiadów będzie zawsze 0?

0

trochę zrąbałem tą tablice bo miały być nieparzyste:)
Nie, suma nie będzie zawszę zero.. zależy co w tej tablicy masz..

0

nie rozumiem, czego suma? tablica ma zawierać n liczb całkowitych nieparzystych.

Tak więc np. 1, 3, 5 ilość elementów będzie równa 0, ponieważ tab[x-1]<tab[x]<tab[x+1]

0

"suma"- źle to nazwałem.. Chodziło mi o ilość takich elementów tablicy. W przypadku który Ty podałeś nie ma takich elementów ale gdy:

Tab[]={1,11,3,11,5};

są 2 takie elementy.
Zauważ, że nigdzie nie jest napisane, że elementy nie mogą się powtarzać lub muszą być kolejne..

0

rozumiem, dzięki :)

0
#include <iostream>
using namespace std;
int main()
{
    int n,suma=0;
    cin>>n;
    int *Tab=new int[n];
    for( int i=0 ; i<n ; i++ )
        while( ( !(cin>> *(Tab+i) ) ) || ( *(Tab+i) %2 == 0 ) )
        {
            cout<<"Musisz podac liczbe nie parzysta\n";
            cin.ignore();
            cin.sync();
        }
    for( int i=1 ; i<n-1 ; i++ )
        if( ( *(Tab+i-1) < *(Tab+i) ) && ( *(Tab+i) > *(Tab+i+1) ) )
            suma++;
    cout<<suma;
    delete []Tab;
    return 0;
}
0

A czy gdzieś jest napisane, że mają być to **kolejne **liczby nieparzyste? Bo chyba coś mi umknęło.

0

problem w tym, że nie ma pomysłu żeby coś takiego napisać?

0

Jaki pomysł?? Masz już wszystko, tylko to napisać!

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