-
-
-
Zrobił ktoś może te zadanka z tej listy pierwszej?
_________________
Kod: | > > Moneta ma 3 strony < < |
Wszystko co napisze NIE MOŻE ZOSTAĆ UŻYTE PRZECIWKO MNIE!!! Będę twierdził, że byłem chwilowo NIEPOCZYTALNY...
d41d8cd98f00b204e9800998ecf8427e
-
-
-
kudlaty napisał/a: | Zrobił ktoś może te zadanka z tej listy pierwszej? |
może byś przynajmniej treść/link podał?
pzdr.
_________________ Wielki majestat wielkiego gmachu,
Wybrany przez inkwizytora struktur.
- Wallace Stevens
[www]
d41d8cd98f00b204e9800998ecf8427e
-
-
-
zad 1. Napisz program, który czyta liczbę całkowitą 2<=k<=10 oraz liczbę całkowitą n>=0 a następnie drukuje zapis liczby n w systemie o podstawie k
zad 2. Napisz funkcję, której argumentem jest liczba całkowitta 2<=k<=16 oraz napois złożony z cyfr i liter od Ado F będący zapisem liczby w systemie o podstawie k, natomiast wartością funkcji jest wartoś liczby zapisanej w napisie.
zad3. Zaproponuj strukturę danych odpowiednią do przechowywania liczb zespolonych. Napisz funkcje wykonujące operację dodawania, odejmowania i mnożenia na tak reprezentowanych liczbach zespolonych
zad4. Załóżmy że jedyną dostępną operacją jest mnożenie liczb rzeczywistych. Napisz ciąg instrukcji podstawienia, który wylicza x^27 jak najmniejszą liczbą mnożeń
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Program 01, zamiana z 10 na k-system. Tak jak pan Pawlik chcial, czyli od d*** strony
Kod: | #include <stdio.h>
int main(void)
{
int k, n, i ,j;
do{
printf("Podaj podstawe systemu zamiany [2,10]: ");
scanf("%d", &k);
printf("\n");
} while ( k < 2 || k > 10);
do{
printf("Podaj liczbe do zamiany: ");
scanf("%d", &n);
printf("\n");
}while (n < 0);
i = 0;
j = 1;
do{
j = j * k;
} while (j <= n);
j = j /k;
do{
i = 0;
do{
if ( (n - j) >= 0)
{
i++;
n = n - j;
}
} while (n >= j);
printf("%d", i);
j = j / k;
} while (j >= 1);
printf("\n\n"); return 0;
}
|
Bez komentarzy, niestety nie mam na nie czasu Takze kazdy sobie musi dopisac. Zmiencie chociaz w nim dane, ok?
Ostatnio zmieniony przez Gorgonek 2007-03-04, 16:49, w całości zmieniany 1 raz d41d8cd98f00b204e9800998ecf8427e
-
-
-
Proponuje dopisać na końcu programu jeszcze:
flushall();
getchar();
,bo nawet nie zdążycie wyniku zobaczyć Pozdro
_________________ "Widzę siebie w obrazach przeszłości
Migawki życia przelatują przed moją twarzą
Całe moje życie w jednej sekundzie
Zapada cisza
Nie czuję nic"
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Aha i jeszcz dopisać na końcu:
return 0;
albo zmienić typ funkcji na void, bo może kompilator wywalić błąd.
Pozdro
[ Dodano: 2007-03-04, 16:46 ]
Spox Gorgonek ale napisałem getchar();, a to jest z stdio.h o ile pamiętam.
[ Dodano: 2007-03-04, 16:49 ]
A tak apropo, to nawet jeśli program będzie działał i Szanownemu Panu Pawlikowi się nie spodoba, to jestem program w plecy??
_________________ "Widzę siebie w obrazach przeszłości
Migawki życia przelatują przed moją twarzą
Całe moje życie w jednej sekundzie
Zapada cisza
Nie czuję nic"
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Fakt pisałem program pod windowsem sorka:D
_________________ "Widzę siebie w obrazach przeszłości
Migawki życia przelatują przed moją twarzą
Całe moje życie w jednej sekundzie
Zapada cisza
Nie czuję nic"
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Dzięki Gorgonek:D
Tymczasem napisałem zadanie nr 4:
#include<stdio.h>
int main()
{
int x,a,b,c;
printf("Podaj x:\n");
scanf("%d",&x);
a=x*x*x; //x^27 mozna rzedstawic jako ((x^3)^3)^3; za x^3=x*x*x podstawiam a
b=a*a*a; //analogicznie j.w.
c=b*b*b; //analogicznie j.w
printf("wynik:%d",c) ; //wynik jest otrzymany za pomoca 6 mnozen
//x*x*x - 2 mnozenia a*a*a - 2 mnozenia,b*b*b - 2 mnozenia
//razem 2+2+2=6
return 0;
}
Proponuje, to porozbijać żeby było bardziej czytelne. No i zmieńcie komentarz i zmienne chociaż. Pozdro
_________________ "Widzę siebie w obrazach przeszłości
Migawki życia przelatują przed moją twarzą
Całe moje życie w jednej sekundzie
Zapada cisza
Nie czuję nic"
Ostatnio zmieniony przez ramios 2007-03-04, 17:34, w całości zmieniany 1 raz d41d8cd98f00b204e9800998ecf8427e
-
-
-
Heh kurde w sumie to racja, nie doczytałem. thx
[ Dodano: 2007-03-04, 17:23 ]
Ale w sumie jakby zamiast pow(x,3) napisał x*x*x i dalej zamiast pow(a,3) a*a*a i zamiast pow(b,3) b*b*b to bedzie to samo i same mnozenia
Jak myślisz Gorgonek??
_________________ "Widzę siebie w obrazach przeszłości
Migawki życia przelatują przed moją twarzą
Całe moje życie w jednej sekundzie
Zapada cisza
Nie czuję nic"
d41d8cd98f00b204e9800998ecf8427e
-
-
-
pytanie,jak mamy mu to oddac?tzn. gdzie zapisany,w jakim programie?
pytanie drugie, mozna to oddac do przyszłego tygodnia,prawda?
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Kod: | #include <stdio.h>
int main(void)
{
int y=1,l=29,z=2, licznik=0;
do{
if (l%2==1) y=y*z;
l >> 1; // nie ma już dzielenia ;)
if (l!=0) z=z*z;
}while(l!=0);
printf("\nWynik potegowania: %d",y);
return 0;
} |
To jest moja metoda, niestety wymaga az 8 krokow [to co proponujesz dziala tylko dla wersji x^27 i wymaga wiecej operacji] do wykonania x^27. Czekam az Wolv wroci i zapoda swoj algorytm W zasadzie podobne dzialanie, tyle ze rekurencyjnie
Ostatnio zmieniony przez Gorgonek 2007-03-04, 17:47, w całości zmieniany 1 raz d41d8cd98f00b204e9800998ecf8427e
-
-
-
Grupa poniedziałkowa ma te cztery zadanka oddać jutro, a piątkowa bodajże w piątek. Pan Pawlik mówił, że najlepiej wysłać sobie kod na maila, a na laborce odebrać i bedzie spox.
BTW poprawiłem programik wyżej, teraz jest bez potęgowania, myślę że może być.
Pozdrawiam
_________________ "Widzę siebie w obrazach przeszłości
Migawki życia przelatują przed moją twarzą
Całe moje życie w jednej sekundzie
Zapada cisza
Nie czuję nic"
d41d8cd98f00b204e9800998ecf8427e
-
-
-
szpilka napisał/a: | pytanie,jak mamy mu to oddac?tzn. gdzie zapisany,w jakim programie?
pytanie drugie, mozna to oddac do przyszłego tygodnia,prawda? |
Mamy to sobie na maila wyslac i odebrac w pracowni
Najlepiej napisany pod linuxem
Oddajemy w tym tygodniu te 4 zadnka. Te ktore teraz dostaniemy oddajemy za tydzien.
d41d8cd98f00b204e9800998ecf8427e
-
-
-
No tak, ale zmienną jest tylko x czyli program może działać tylko dla 27. potęgi. BTW na ćwiczeniach z logiki algorytmicznej Dr Kobylański powiedział, że to zadanie można zrobić właśnie sześcioma mnożeniami, także myślę, że będzie ok.
_________________ "Widzę siebie w obrazach przeszłości
Migawki życia przelatują przed moją twarzą
Całe moje życie w jednej sekundzie
Zapada cisza
Nie czuję nic"
d41d8cd98f00b204e9800998ecf8427e
-
-
-
gorgon ale w programie w mnożeniem używasz min. dzielenia więc program już jest źle bo tylko samo mnożenie. A ramios mam tak samo jak ty z tymi samymi danymi tylko ze inaczej w printfie napisane. Gorgon my mamu dac tylko plik z rozszerzeniem c czy jeszcze ten drugi bez rozszerzenia. Co do twojego 1 zadania co w tym zadaniu robi c bo kurde szukam i nie bardzo moge sie domyslec.
Ostatnio zmieniony przez fonek 2007-03-04, 17:46, w całości zmieniany 1 raz d41d8cd98f00b204e9800998ecf8427e
-
-
-
ramios napisał/a: | No tak, ale zmienną jest tylko x czyli program może działać tylko dla 27. potęgi. BTW na ćwiczeniach z logiki algorytmicznej Dr Kobylański powiedział, że to zadanie można zrobić właśnie sześcioma mnożeniami, także myślę, że będzie ok. |
Niby tak Ale jest jeszcze algorytm rekurencyjny ktory wykonuje to w 4 mnożeniach
d41d8cd98f00b204e9800998ecf8427e
-
-
-
jak mowisz ze mozna na 4 mnozenia to tto jest na 10 pkt a jak ktos ma na 6 to dostanie tylko 8
d41d8cd98f00b204e9800998ecf8427e
-
-
-
a jak mi sie jeszcze linux sciaga to jak myslisz, na co mam wrzucic ,zeby był zadowolony?:)
d41d8cd98f00b204e9800998ecf8427e
-
-
-
szpilka, w takim wypadku spróbuj w WordPAD albo inny programie
[ Dodano: 2007-03-04, 17:57 ]
Program 03, zaproponowac strukture danych do przechowywania liczb zespolonych (x, iy)
Kod: |
#include <stdio.h>
typedef struct
{
float Re;
float Im;
} l_zesp;
void dodaj(l_zesp * zesp1, l_zesp * zesp2, l_zesp * wynik)
{
wynik->Re = zesp1->Re + zesp2->Re;
wynik->Im = zesp1->Im + zesp2->Im;
}
void odejmij(l_zesp * zesp1, l_zesp * zesp2, l_zesp * wynik)
{
wynik->Re = zesp1->Re - zesp2->Re;
wynik->Im = zesp1->Im - zesp2->Im;
}
void wymnoz(l_zesp * zesp1, l_zesp * zesp2, l_zesp * wynik)
{
wynik->Re = zesp1->Re * zesp2->Re - zesp1->Im * zesp2->Im;
wynik->Im = zesp1->Im * zesp2->Re + zesp2->Im * zesp1->Re;
}
int main( void )
{
l_zesp liczba1,liczba2, dod,odej,pomn;
printf("Podaj czesc Rzeczywista pierwszej liczby: ");
scanf("%f", &liczba1.Re);
printf("Podaj czesc Urojona pierwszej liczby: ");
scanf("%f", &liczba1.Im);
printf("Podaj czesc Rzeczywista drugiej liczby: ");
scanf("%f", &liczba2.Re);
printf("Podaj czesc Urojona drugiej liczby: ");
scanf("%f", &liczba2.Im);
dodaj(&liczba1, &liczba2, &dod);
odejmij(&liczba1, &liczba2, &odej);
wymnoz(&liczba1, &liczba2, &pomn);
printf("Podano liczby [%f,%fi] oraz [%f,%fi].", liczba1.Re ,liczba1.Im, liczba2.Re, liczba2.Im);
printf("\nNa powyzszych liczbach dokonano ponizszych operacji:\n");
printf("Dodawania = [%f,%fi];\n", dod.Re, dod.Im);
printf("Odejmowania = [%f,%fi];\n", odej.Re, odej.Im);
printf("Mnozenia = [%f,%fi].\n", pomn.Re, pomn.Im);
return 0;
}
|
Z tego co widziałem podobnie do Wolv'iego zrobiłem Dodałem tylko obsługę drobną żeby można było program sprawdzić Jak komuś nie pasuje niech usunie
[ Dodano: 2007-03-04, 18:26 ]
Program 04, czyli policzenie x^27 w najmiejszej ilosci mnozen Tutaj robimy to przez rekurencje [niestety, nie wpadlem na to sam na szczescie sa ludzie sprytniejsi ode mnie ].
Kod: | #include <stdio.h>
int potega( int x, int n )
{
if( n == 1 )
{
return x;
}
/* else if( n == 2 )
{
return x * x;
} */ // [i]okazuje sie zupelnie niepotrzebna, pan Pawlik przez nia sprawil nam problemy :/[/i]
else
{
if( ( n % 2 ) == 0 )
{
return potega( x * x, n >> 1 );
}
else
{
return potega( x * x, n >> 1 ) * x;
}
}
}
int main( void )
{
int x;
printf("Podaj liczbe x: ");
scanf("%d", &x);
printf("\n%d^27 = %d\n", x, potega( x, 27 ));
return 0;
}
|
Z tego co pamietam to juz dla x = 4 przekraczamy zakres int
Ostatnio zmieniony przez Gorgonek 2007-03-06, 07:04, w całości zmieniany 2 razy d41d8cd98f00b204e9800998ecf8427e
Powered by phpBB modified by Przemo © 2003 phpBB Group. Then, after many years modified again, this time by Piotrek © 2014 Strona wygenerowana w 35,8ms. Zapytań do SQL: 14
|