ďťż

Ładny brzuch

Nie wiem kompletnie jak napisac program w C++, oto jego tresc:

Napisz definicje funkcji i sprawdz, ktora wylicza

A)

f(n) = { 1 - 2 + 3 - 4 + 5 .....; -n jezeli n parzyste
-5 ; n<1 ; n jezeli n nieparzyste

B)

f(n) = { n/(n+1)/(n+2)/..../ 0<n <= 15
n, n<=0 || n>15

P.S W miare mozliwosci prosze pomoc go napisac- naprawde meczylemn sie nad tym dlugo

oraz jezeli sie da prosze o sprawdzenie, dlaczego ten program zawsze zwraca mi zla wartosc (albo taka sama albo 1 ??
Oto On:

#include <cstdlib> #include <iostream> #include<conio.h> long int silnia(long int n) { long int pomoc=1; int i; for(int i=1;i<=n;i++); pomoc=pomoc*i; return silnia(pomoc); } using namespace std; int n; int main(int argc, char *argv[]) { int a; cout<<"podaj liczbe\n"; cin>>a; silnia(a); cout<<"wynik cwiczenia "<< silnia(n) << "\n"; system("PAUSE"); return 0; }
Użytkownik Robert2007_85 edytował ten post 18 kwiecień 2007, 12:43


radze przypomniec sobie troche matematyki i podstaw C...

nie wime czemu mam wrazenie, ze w tej silni probowales skleci rekurencje z ewrsja iteracykjna silni..

poniewaz widze, ze nie kumasz tutaj tego wiec podam Ci iteracyjna wersje (i tak pelno tego w sieci)

long int silnia(long int n) { long int pomoc=1; for(int i=1;i<=n;i++) pomoc=pomoc*i; return pomoc; }

sam popatrz co sie zmienialo i wyciganij wnioski..

a te zdania to niewiele trudniejesze od tej silni:

A
long int zadA(long int n) { long int suma=0; for(int i=1;i<=n;i++) { if( i%2=0 ) suma =suma - i; else suma = suma +i; } return suma; }

a B nie jest do konca sprecyzowane, ile razy ma sie wykonac dzielenie przez n+i ?(i=0,1,2,..)??
jesli n razy to:

double zadB(int n) { double iloraz=n; for(int i=1;i<n;i++) //jesli n-1 razy to i<n iloraz = iloraz/(n+i); return pomoc; }

da sie to wszystko za pomoca jednego wzoru napisac, ale to juz wyzsza analiza matematyczna..

edit:
@down:
fakt, tyle tych bledow ze nawet nie zauwazylem ;)
Użytkownik fernandez edytował ten post 18 kwiecień 2007, 16:48

#include <cstdlib> #include <iostream> #include<conio.h> long int silnia(long int n) { long int pomoc=1; int i; for(int i=1;i<=n;i++); pomoc=pomoc*i; return silnia(pomoc); } using namespace std; int n; int main(int argc, char *argv[]) { int a; cout<<"podaj liczbe\n"; cin>>a; silnia(a); cout<<"wynik cwiczenia "<< silnia(n) << "\n"; system("PAUSE"); return 0; }
abstrahując od tego czy sam algorytm silni jest poprawny zastanawia mnie jedna rzecz - po co jest zmienna globalna int n(która na dodatek nie ma nigdzie przypisanej wartości)
a dwa czemu robisz silnia(a) a potem liczysz raz jeszcze i wyświetlasz wynik dla silnia(n) ??? wtf ?
Użytkownik Edas edytował ten post 18 kwiecień 2007, 15:01
wszystko co poprzednik napisal + tu:
for(int i=1;i<=n;i++);
pomoc=pomoc*i;
nie powinno byc srednika po for, a liczyc mozna od 2ch (mnozenie przez 1 i tak nic nie znaczy).



Nie wiem juz jak mam to zrobic <sry> ale sie gubie probuje zrobic tak zeby user mogl wpisac 10 elementow do tablicy, ni wychodzi mi, potem przekazanie do tablicy to teoretycznie wiem, ale nie wiem jak zapisac, a jeszcze zeby prograsm pokazal jes rosnaco potem to juz wogole. Prosze o pomoc ;/;/;/ lol

#include <cstdlib>
#include <iostream>

using namespace std;

void bubbleSort (int tab[], int num)
{for (int i=1; i<num; i++)
for(int j=0; j<=i; j++)
if (tab[i]<tab[j])
{int pomoc=tab[i];
tab[i]=tab[j];
tab[j]=pomoc;}
}

int main()
int i, tab[];
cout << "Podaj 10 elementow tablicy :";

for(i=1, i<9, i++)
{
cout << "Podaj" << i << "element tablicy "
}

cin>>tab[i];
bubbleSort(

cout<<"10 eleentow w kolejnosci rosnacej Twojej tablicy to : "<<tab[] ;

system("PAUSE");
return EXIT_SUCCESS;
}
Użytkownik Robert2007_85 edytował ten post 19 kwiecień 2007, 18:15
prosze o pomoc


nie bede zakladal nowego tematu, alel mam oto taki programik:

#include <cstdlib> #include <iostream> using namespace std; void bubbleSort (int tab[], int num) {for (int i=1; i<num; i++) for(int j=0; j<=i; j++) if (tab[i]<tab[j]) {int pomoc=tab[i]; tab[i]=tab[j]; tab[j]=pomoc;} } int main() { int tab[10]; cout << tab[10]; system("PAUSE"); return EXIT_SUCCESS; }

i teraz po int main() przypisalem sobie tablicy bezwartosciowej wartosc 10. zadanie jest takie aby posortowac elementy rosnaco dokladnie 10. jak tego dokonac?

lol.
po pierwsze to mozesz co najwyzej cout << tab[9]; bo 10 elementow to jest od 0 do 9ciu. a wywolanie tamtej funkcji jest chyba jasne
bubbleSort ( tab, 10)

Nie wiem juz jak mam to zrobic <sry> ale sie gubie probuje zrobic tak zeby user mogl wpisac 10 elementow do tablicy, nie wychodzi mi, potem przekazanie do tablicy to teoretycznie wiem, ale nie wiem jak zapisac, a jeszcze zeby prograsm pokazal jes rosnaco potem to juz wogole. Prosze o pomoc ;/;/;/ lol

#include <cstdlib> #include <iostream> using namespace std; void bubbleSort (int tab[], int num) {for (int i=1; i<num; i++) for(int j=0; j<=i; j++) if (tab[i]<tab[j]) {int pomoc=tab[i]; tab[i]=tab[j]; tab[j]=pomoc;} } int main() int i, tab[]; cout << "Podaj 10 elementow tablicy :"; for(i=1, i<9, i++) { cout << "Podaj" << i << "element tablicy " } cin>>tab[i]; bubbleSort( cout<<"10 eleentow w kolejnosci rosnacej Twojej tablicy to : "<<tab[]; system("PAUSE"); return EXIT_SUCCESS; }
Użytkownik Robert2007_85 edytował ten post 19 kwiecień 2007, 18:20
Przeglądnij sobie i przemyśl:#include <cstdlib> #include <iostream> using namespace std; void bubbleSort (int tab[], int num) { for (int i=1; i<num; i++) { for(int j=0; j<=i; j++) { if(tab[i]<tab[j]) { int pomoc=tab[i]; tab[i]=tab[j]; tab[j]=pomoc; } } } } int main() { const int TAB_SIZE = 10; int tab[TAB_SIZE]; cout << "Podaj " << TAB_SIZE << " elementow tablicy :" << endl; for(int i=0; i<TAB_SIZE; i++) { cout << "Podaj " << i+1 << " element tablicy: "; cin >> tab[i]; } bubbleSort(tab, TAB_SIZE); cout<<"10 elementow w kolejnosci rosnacej Twojej tablicy to : " << endl; for(int i=0; i<TAB_SIZE; i++) { cout << tab[i] << " "; } cout << endl; //system("PAUSE"); return EXIT_SUCCESS; }
Użytkownik reVis edytował ten post 19 kwiecień 2007, 18:36
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •