W celu zapewnienia prawidłowego funkcjonowania, forum WebElite.pl wykorzystuje pliki cookies. Zmiany ich ustawień możesz dokonać w opcjach konfiguracyjnych swojej przeglądarki.
  • Forum

  • Regulamin

  • Szukaj

  • Użytkownicy

  • Kalendarz

  • Pomoc

  • Kontakt

  •  
Aktualny czas: 19-09-2019, 23:56 Witaj! (LogowanieRejestracja)
Witamy na WebElite.pl - Forum Informatycznym!

Aktualnie przeglądasz forum jako Gość, przez co Twój dostęp jest w pewnym stopniu ograniczony. Zarejestruj się a uzyskasz dostęp do publikacji postów oraz wielu innych ciekawych funkcji niedostępnych dla niezarejestrowanych użytkowników. Nie zastanawiaj się dłużej i dołącz do naszej społeczności już dziś!

Pozdrawiamy i życzymy mile spędzonego czasu na forum.
facebooktwitteryoutube
Rozpocznij wątek  Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
kłopot z porgramem...
Autor Wiadomość
johnnny Offline
Newbie
*

Liczba postów: 1
Reputacja: - 0 +
Post: #1
kłopot z porgramem...

mam do zrobienia program- Zaproponuj algorytm sprawdzający, czy dany ciąg jest ciągiem malejących. Narysuj schemat blokowy tego algorytmu (to proste). Napisz i uruchom program realizujący ten algorytm oraz dodatkowo obliczający na życzenie użytkownika iloczyn zadanej liczny elementów ciagu począwszy od zadanego elementu. Program ma umożliwiać a). Automatyczne wpisanie ciągu o szukanych właściwościach , cool.gif. Wygenerowanie ciągu liczb losowych z zadanego zakresu, c). Wpisanie elementów ciągu z klawiatury. Pogrupuj części programu w funkcje.


koledzy pomogli mi zrobic coś takiego ale program nie rozpoznaje czy ciąg jest malejący.

mógłby ktoś obeznany sprawdzic dlaczego to nie chodzi? z góry dziękuje.


Kod:
#include <time.h>

#include <iostream>
#include <ctime>
#include <conio.h>

using namespace std;

void wpisz (int * tab, int x,int i,int n,int y)
{
cout <<endl;
for (i=0;i<x;i++)
{

n=n+1;
cout <<"podaj "<<n<<" liczbe";
cin >>y;
tab[i] = y;
}
n = 0;
for (i=0;i<x;i++)
{
n = n+1;
cout<<"liczba["<<n<<"]="<<tab[i];
}

}



//funkcja wypelnij
void wypelnij (int * tab, int x,int i,int n)
{
cout <<"automatycznie wypelniony ciag o szukanych wlasciwosciach";

for(i=2;i<x;i++)
{
tab[i] = tab[i-1] + tab[i-2] +1;
}
for (i=0;i<x;i++)
{
n = n+1;
cout<<"liczba["<<n<<"]="<<tab[i];
}
}



void losowe (int * tab, int x,int i,int n)
{

srand(time(0));
for(i=0;i<x;i++)
{
tab[i]=rand()%x;
}
cout<<"tablica wypelniona liczbami losowymi to";
for (i=0;i<x;i++)
{
n = n+1;
cout<<"liczba["<<n<<"]="<<tab[i];
}
}




//sprawdzanie czy ciag malejacy... (tu cos nie chodzi)
void sprawdzenie (int * tab, int x,int ok)
{
for (int i=2;i<x-1;i++)
{
ok = 1;
if (tab[i] <= tab[i+1])
{
cout << "Ciąg nie jest malejący" << endl;
}
if(tab[i] == tab[i-2])
cout << "Podany ciąg jest malejący" << endl;
}
}





int main(int argv, char * argc[])
{
int x,i,y,n,z,u,min,ok,wybor,petla1,petla2,petla3;



do
{
petla3 = 0;
x=0;
y=0;
n=0;
z=1;
ok=0;
i=0;
int *tab = new int[x];



do
{
petla2 = 0;
//podanie zakresu ciagu
cout <<"podaj zakres ciagu";
cin >>x;
tab = new int[x];

do
{
petla1 = 0;
cout <<"co chcesz zrobić"<<endl;
cout <<endl;
cout <<"1 - wygenerowac ciąg liczb losowych z danego zakresu ("<<x<<")"<<endl;
cout <<"2 - automatycznie wypelnic ciąg liczbami o szukanych właściwosciach"<<endl;
cout <<"3 - wpisac elementy cigau z klawiatury"<<endl;
cout <<"4 - zmienić zakres ciągu"<<endl;
cout <<"5 - zakonczyc program"<<endl;
cout <<endl;
cin >> wybor;
cout <<endl;


if (wybor == 1)
{
losowe(tab, x, i, n);
}

else if (wybor == 2)
{
wypelnij(tab, x, i, n);
}

else if (wybor == 3)
{
wpisz(tab, x, i, n, y);
}
else if (wybor == 4)
{
petla2 = 1;
}
else if (wybor == 5)
{
goto koniec;
}
else
{
cout <<"nieprawidlowy wybor !"<<endl<<endl;
petla1 = 1;
}
}
while (petla1 == 1);


}
while (petla2 == 1);



min = tab[0];
for (i=1;i<x;i++)
{
if (tab[i]<min)
{
min = tab[i];
z = i+1;
}
}



cout <<"wartosc minimalna ciagu to: "<<min<<" na pozycji "<<z<<endl<<endl;

// zamienienie najmnieszej wartosci z nowa wpisaną z klawiatury
cout <<"podaj nową liczbe"<<endl;
cin >>u;
tab[z-1] = u;
cout <<"liczba "<<min<<" zostala zamieniona na "<<u<<endl<<endl;



for (i=0;i<x;i++)
{
n = n+1;
cout <<"liczba["<<n<<"]="<<tab[i]<<endl;
}


sprawdzenie(tab, x, ok);


cout <<endl;
cout <<"czy chcesz kontynuować ? 1-Tak 2-Nie"<<endl;
cin >>petla3;
}
while (petla3 == 1);

koniec:
cout <<endl;

}
02-01-2009 17:20
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Support
jarex_67 Offline
Znawca
***

Liczba postów: 90
Reputacja: - 0 +
Post: #2
RE: kłopot z porgramem...

Spróbuj tutaj jest fajne szkolenie || Link widoczny tylko dla zarejestrowanych. Zarejestruj się lub zaloguj. || Smile
29-08-2017 18:43
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Rozpocznij wątek  Odpowiedz 


Skocz do: