|
::BIOTECHNOLOGIA:: Forum studentów kierunku biotechnologia Politechniki Śląskiej
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Michele
Dołączył: 15 Sty 2006
Posty: 1041
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: BioAut, Gleiwitz-Petersdorf
|
Wysłany: Wto 22:30, 31 Paź 2006 Temat postu: |
|
|
A co mógł innego doradzić, jak nic innego nie mieliśmy. Zgadzam się. Na tym etapie tylko pętla się liczy i chyba było coś mówione o etykietach, ale za to już nie ręczę. Więc tak czy siak chyba mamy tylko możliwośc pętli. Przynajmniej niestety Ci, którzy nie umieją i nie zrozumieli kodu silni.
Adam różnica pomiędzy jedną a drugą silnią jest taka, że moja o jeden raz dłużej się wykonuje niż Twoja i to wszystko...
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Prout
Dołączył: 21 Paź 2005
Posty: 239
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Tychy BioCh/1
|
Wysłany: Śro 9:56, 01 Lis 2006 Temat postu: |
|
|
NIech Wam Bog w dzieciach wynagrodzi
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
migothka
Dołączył: 20 Paź 2005
Posty: 845
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: BioCh/1
|
Wysłany: Śro 10:15, 01 Lis 2006 Temat postu: |
|
|
po to jest specjalny temat do podziekowan dobrym ludziom za rozwiazywanie zadan z informatyki, zeby to pisac tam - a jak jestescie tak bardzo wdzieczni to moze lepiej im piwo postawcie
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
katarzyna
Dołączył: 09 Gru 2005
Posty: 16
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Katowice BioIS/1
|
Wysłany: Śro 22:36, 01 Lis 2006 Temat postu: |
|
|
Mógłby ktoś jeszcze wrzucić zadania od 3-5??Z góry dziękuję
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
adalgrim
Starosta grupy AU (2rok)
Dołączył: 05 Lis 2005
Posty: 380
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: RAu
|
Wysłany: Czw 0:37, 02 Lis 2006 Temat postu: |
|
|
Proszę:
Zadanie 3:
Kod: |
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
float suma=0, s=0, srednia=0, iloczyn=1;
int i, p=0;
while (scanf("%d", &i))
{
if (i>=0) {
suma+=i;
++s;
if(i<5 || i>10){
iloczyn*=i;
}
if((i%2)==0) {
++p;
}
} else {
break;
}
}
srednia = suma/s;
printf("Srednia = %f\n", srednia);
printf("Iloczyn (bez [5, 10]) = %f\n", iloczyn);
printf("Ilosc parzystych = %d\n", p);
printf("Przerwa");
system("PAUSE");
return 0;
}
|
Zadanie 4:
Kod: |
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
int np, nk, i, suma=0, suma2=0, a, min=0;
printf("Np = ");
scanf("%d", &np);
printf("Nk = ");
scanf("%d", &nk);
if(nk>np) {
min = (np*np)-(15*np)+50;
for(i = np; i <= nk; i++) {
a = (i*i)-(15*i)+50;
suma += a;
if(a<min) min = a;
}
printf("Min = %d\n", min);
printf("Suma = %d\n", suma);
} else {
printf("Nk<Np\n");
}
system("PAUSE");
return 0;
}
|
Zadanie 5:
Kod: |
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
int i, start=0;
float a,a0=1.0,a1=1.5,a2=2.0;
printf("Podaj liczbe N poczatkowych elementow ciagu: ");
scanf("%d", &i);
for(start=1; start<=i; start++){
a=a0*sqrt(a1+a2);
printf("Wartosc %d'go wyrazu ciagu wynosi: %f\n",start,a);
a2=a1;
a1=a0;
a0=a;
}
system("PAUSE");
return 0;
}
|
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
kot-niepłot
Dołączył: 29 Lis 2005
Posty: 324
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Gliwice BioAut
|
Wysłany: Czw 1:04, 02 Lis 2006 Temat postu: |
|
|
Adam mnie wyprzedził, ale wtrącę swoje 3 grosze (zadania), gdzieniegdzie mam inne sposoby:
3:
Kod: | #include <stdio.h>
#include <stdlib.h>
int main()
{
long in=0;
double suma=0;
long long iloczyn=1;
int numparz=0, numdod=0, i=0, numrazy=0;
while(in>=0)
{ scanf("%ld", &in);
i++;
if(in>0) { suma += in; numdod++; }
if(in<5 || in>10) { iloczyn *= in; numrazy++; }
if(!(in&1)) numparz++;
}
printf("Wczytano %d liczb", i);
printf(".\n");
if(numdod) printf("Srednia liczb dodatnich wynosi %.2g\n", suma/numdod);
/* W przeciwnym razie nie ma średniej, więc nie ma co pisać */
if(numrazy) printf("Iloczyn liczb spoza przedzialu <5,10>"
" wynosi %lld\n", iloczyn);
printf("Ilosc wczytanych liczb parzystych wynosi %d\n\n", numparz);
system("PAUSE");
return 0;
} |
4:
Kod: | #include <iostream.h>
#include <stdlib.h>
int main()
{
long Np, Nk, x, suma=0;
cout << "a(n) = n*n - 15n + 50\n";
cout << "Podaj poczatkowy i koncowy wyraz do sumy ";
cin >> Np >> Nk;
if(Np>Nk) { cout << "Zonk!\n" << endl; }
else {
for(x=Np; x<=Nk; x++)
suma += x*x -15*x + 50;
cout << "Suma wyrazow Np do Nk wynosi " << suma << endl;
/* Obliczam pochodną ciągu (to infa, nie matematyka, można :P )
* wartość minimalna jest dla i==7 lub i==8 (konkretnie dla i==7.5)
* bo a'=2x-15; a'=0 <=> x=7.5
*/
cout << "Wartosc minimalna od 1 do Nk=" << Nk << " wynosi ";
if(Nk<7) cout << Nk*Nk - 15*Nk + 50;
else cout << 7*7 - 15*7 + 50;
cout << endl;
cout << "Wartosc minimalna od Np=" << Np << " do Nk="
<< Nk << " wynosi ";
if(Nk<7) cout << Nk*Nk - 15*Nk + 50;
else if(Np>8) cout << Np*Np - 15*Np + 50;
else cout << 7*7 - 15*7 + 50;
cout << endl;
} // koniec pierwszego "else"
system("PAUSE");
return 0;
} |
5:
Kod: | #include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
cout << "Podaj N poczatkowych wyrazow do wypisania ";
short N, x;
cin >> N;
double ai, ai1, ai2;
ai=1.0;
ai1=1.5;
ai2=2.0;
if(N>0) cout << ai2 << endl;
if(N>1) cout << ai1 << endl;
if(N>2)
for(x=1; x<=N-2; x++)
{ if(x<21) printf("%.3g\n", ai); // 3 miejsca znaczące
else printf("Za duzo!\n");
/* Dla x>=21 wynik się nie mieści
* Brzydkie i nie polecane używanie stdio i iostream naraz,
* nie róbcie tego w domu :P
* Ale w coutach nie doszukałem się formatowania */
ai2 = ai1;
ai1 = ai;
ai = ai * sqrt(ai1 + ai2);
}
cout << endl;
system("PAUSE");
return 0;
} |
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
justka
Dołączył: 09 Sty 2006
Posty: 25
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Gliwice BioCh/2
|
Wysłany: Czw 14:45, 02 Lis 2006 Temat postu: |
|
|
Dzieki za zadania, zawsze mozna porownac wyniki i wlasnie zauwazylam ze wszyscy macie blad w zadaniach z sinusami. W C sin jest podawany w radianach, a wiec kazda wartosc nalezy pomnozyc przez PI i podzielic przez 180, czyli np sin 90 stopni to nie sin(90) tylko sin(90 * 3.14 / 180) zreszta sami mozecie to sprawdzic piszac prosty program typu Kod: | #include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{
printf("%f\n",sin(90*3.14/180));
system("PAUSE");
return 0;
} |
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
justka
Dołączył: 09 Sty 2006
Posty: 25
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Gliwice BioCh/2
|
Wysłany: Czw 16:03, 02 Lis 2006 Temat postu: |
|
|
Zad 9. Kod: | //cw 4 zad 9
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int silnia(int x)
{
int i,sil;
if((x==0)||(x==1)) return 1;
sil = 1;
for(i=1;i<=x;i++)
sil *= i;
return sil;
}
int main()
{
float wyr,q,e;
int p,n;
printf("Podaj n: ");
scanf("%d",&n);
printf("Podaj q: ");
scanf("%f",&q);
printf("Podaj e: ");
scanf("%f",&e);
p = 0;
do
{
p++;
wyr = (1.0/silnia(p)) * pow((n-q),(p-1)) * exp(n*q);
printf("wyr = %f\n",wyr);
}while(wyr>=e);
printf("Wynik: p = %d\n",p);
system("PAUSE");
return 0;
} |
Ta wersja michele nie bardzo dziala bo jest zly warunek, wypisz sobie dokladna wartosc tego wyrazenia, w 99% wypadkow wyjdzie z while bo bedzie wieksze od epsilona, i wtedy zawsze p=1, co jest nieprawda. Nawet jesli poczatkowe wartosci bylyby mniejsze od epsilona, to wtedy p jest bledne bo bedzie max lub p+1 :] Po prostu jest tam zly warunek.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Michele
Dołączył: 15 Sty 2006
Posty: 1041
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: BioAut, Gleiwitz-Petersdorf
|
Wysłany: Czw 16:16, 02 Lis 2006 Temat postu: |
|
|
Taka cicha, a tak mnie zagieła. Odnośnie warunków, to nie wiem. Robiłem to na kolanie. Nawet nie wiem, czy to działa-nie pamiętam czy to uruchomiłem. Wcześniej pisałem, że coś nie tak. Sinusiki, to wiem, że w radianach, ale jakoś zawsze o tym przeliczniku zapominam - wszędzie tak jest.\
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
kot-niepłot
Dołączył: 29 Lis 2005
Posty: 324
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Gliwice BioAut
|
Wysłany: Czw 17:12, 02 Lis 2006 Temat postu: |
|
|
Justka -> W zadaniach które robiliśmy nie podawaliśmy nigdy kątów w stopniach, np: pow(sin(sqrt(x)), 1.0/3); ewentualnie było cos(exp(2*x));, wtedy arugment jest zawsze w radianach, więc niekoniecznie wszyscy mieliśmy błąd
Ale trafne spostrzeżenie z tymi radianami
Zadanie 9 obwarowałbym pewnymi warunkami których, myślę, panowie się będą czepiać:
Kod: | #include <iostream.h>
#include <stdlib.h>
#include <math.h>
int main()
{
long long p=0, psilnia=1, n;
double q, epsilon;
cout << "Podaj naturalne n :";
cin >> n;
if(n<0) {
cout << "Mialo byc naturalne\n";
system("PAUSE");
return 0;
}
cout << "Podaj rzeczywiste q: ";
cin >> q;
cout << "Podaj rzeczywiste epsilon: ";
cin >> epsilon;
if(n-q == 0)
{ if(0<epsilon) cout << "p=2\n";
else cout << "Takie p nie istnieje\n";
}
else if(n-q>0)
{ if(epsilon<0)
cout << "Takie p nie istnieje\n";
if(epsilon==0)
cout << "p = nieskonczonosc\n";
}
else {
while(pow(n-q, p-1)*exp(n*q)/psilnia>=epsilon)
psilnia *= ++p;
cout << "p=" << p << "\n";
}
cout << endl;
system("PAUSE");
return 0;
} |
No i ilustracja mojego pomysłu silni.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
justka
Dołączył: 09 Sty 2006
Posty: 25
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Gliwice BioCh/2
|
Wysłany: Czw 21:51, 02 Lis 2006 Temat postu: |
|
|
no wiadomo, podobnie jak w 8: N>=-5 i x rozne od 0, ale to juz jest tylko kosmetyka
edit:
Kod: | else if(n-q>0)
{ if(epsilon<0)
cout << "Takie p nie istnieje\n";
if(epsilon==0)
cout << "p = nieskonczonosc\n";
}
else {
while(pow(n-q, p-1)*exp(n*q)/psilnia>=epsilon)
psilnia *= ++p;
cout << "p=" << p << "\n";
}
|
tutaj masz blad, zauwaz ze nie wchodzi do petli while jesli n-q>0 i epsilon > 0 , a wtedy sa wyniki. Wchodzi tylko dla n-q < 0.
i jeszcze warunek gdy n-q == 0 i e = 0, wtedy tez p nie istnieje. Wiecej uwag nie mam
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
Możesz pisać nowe tematy Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|