Zadania c 02

Podstawy Programowania C 02


W S K A Ź N I K I



0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31





5




7





4




8



















x




y





wx




wy



















zmienna




zmienna





adres x




adres y
















#include <stdio.h>

#include <conio.h>

int main() {


int x,y,pom;

int *wx, *wy;


x=5;

y=7;

printf("\nx=%d\ty=%d\n",x,y);

wx=&x;

wy=&y;

printf("\n\tWydruk przez adres\n");

printf("\nx=%d\ty=%d\n",*wx,*wy);

printf("x?=");

scanf("%d",wx);

printf("y?=");

scanf("%d",wy);

printf("\nx=%d\ty=%d\n",x,y);

printf("\n\tWydruk przez adres\n");

printf("\nx=%d\ty=%d\n",*wx,*wy);

printf("\n\tZamiana przez adres\n");

pom=*wx;

*wx=*wy;

*wy=pom;

printf("\nx=%d\ty=%d\n",x,y);

printf("\n\tWydruk przez adres\n");

printf("\nx=%d\ty=%d\n",*wx,*wy);


fflush(stdin);

getch();

return 0;

}



x=5 y=7


Wydruk przez adres


x=5 y=7

x?=9

y?=2


x=9 y=2


Wydruk przez adres


x=9 y=2


Zamiana przez adres


x=2 y=9


Wydruk przez adres


x=2 y=9

//rysuje linię 10 gwiazdek

#include <stdio.h>

#include <conio.h>

int main() {

int i;

i=1;

while(i<=10) {

printf("*");

i++;

}

fflush(stdin);

getch();

return 0;

}

//rysuje linię x gwiazdek

#include <stdio.h>

#include <conio.h>

int main() {

int i,x;

i=1;

printf("ile gwiazdek ? :");

scanf("%d",&x);

while(i<=x) {

printf("*");

i++;

}


return 0;

}

//rysuje przekątną z x gwiazdek

#include <stdio.h>

#include <conio.h>

int main() {

int i,j,x;

i=1;

printf("ile gwiazdek ? :");

scanf("%d",&x);

while(i<=x) {

j=1;

while(j<i) {

printf(" ");

j++;

}

printf("*\n");

i++;

}


return 0;

}

//rysuje pusty trójkąt prostokątny z x gwiazdek

#include <stdio.h>

#include <conio.h>

//***************************************

int main() {

int i,j,x;


i=1;


printf("ile gwiazdek ? :");

scanf("%d",&x);


printf("*\n");

while(i<=x) {

j=1;

printf("*");

while(j<i) {

printf(" ");

j++;

}

printf("*\n");

i++;

}


i=1;

while(i<=x+2) {

printf("*");

i++;

}


return 0;

}

















// rysuje odwrócony pusty trójkąt prostokątny

// z x gwiazdek


#include <stdio.h>

#include <conio.h>

//***************************************

int main() {

int i,j,x;


i=1;


printf("ile gwiazdek ? :");

scanf("%d",&x);

j=x;

while(j>=0) {

printf(" ");

j--;

}

printf("*\n");


while(i<=x) {

j=x;

while(j>=i) {

printf(" ");

j--;

}

j=1;

printf("*");

while(j<i) {

printf(" ");

j++;

}

printf("*\n");

i++;

}


i=1;

while(i<=x+2) {

printf("*");

i++;

}


return 0;

}





//oblicza sumę k liczb

//***************************************

#include <stdio.h>

#include <conio.h>

//***************************************

int main() {

int i,k,suma,pom;


printf("ile liczb ? :");

scanf("%d",&k);


i=1;

suma=0;


while(i<=k) {

printf("podaj liczbe nr %d :",i);

scanf("%d",&pom);

i++;

suma+=pom;

}


printf("\n\nsuma %d liczb wynosi %d",k,suma);


return 0;

}

//oblicza sumę liczb zakończonych znakiem

//***************************************

#include <stdio.h>

#include <conio.h>

//***************************************

int main() {

int i,k,suma,pom;


printf("podaj liczbe nr 1 :",i);

k=scanf("%d",&pom);


i=2;

suma=pom;


while(k!=0) {

printf("podaj liczbe nr %d :",i);

k=scanf("%d",&pom);

i++;

if(k!=0) suma+=pom;

}


i-=2;


printf("\n\nsuma %d liczb wynosi %d",i,suma);


return 0;

}



//oblicza sumę liczb zakończonych znakiem !

//***************************************

#include <stdio.h>

#include <conio.h>

//***************************************

int main(){

int i,k,suma,pom;

char pp;


pp='a';


printf("podaj liczbe nr 1 :",i);

k=scanf("%d",&pom);


i=2;


if(k==0)

scanf("%c",&pp);

suma=pom;


while(pp!='!') {

printf("podaj liczbe nr %d :",i);

k=scanf("%d",&pom);

if(k!=0) {

suma+=pom;

i++;

}

else

scanf("%c",&pp);

}


i--;


printf("\n\nsuma %d liczb wynosi %d",i,suma);


return 0;

}





//znajduje max z liczb zakończonych znakiem !

//***************************************

#include <stdio.h>

#include <conio.h>


int main() {


int i,k,max,pom;

char pp;


pp='a';


printf("podaj liczbe nr 1 :",i);

k=scanf("%d",&pom);


i=2;


if(k==0)

scanf("%c",&pp);

max=pom;


while(pp!='!') {

if(k==0)

printf("\n");

printf("podaj liczbe nr %d :",i);

k=scanf("%d",&pom);

if(k!=0) {

if(max<pom)

max=pom;

i++;

}

else

scanf("%c",&pp);

}

i--;


printf("\n\nmaximum z %d liczb ”,i); printf("wynosi %d",max);


return 0;

}









Zadanie 1.

Algorytm Euklidesa służy do wyznaczania NWD dwóch liczb.

Działa on w następujący sposób:

Mamy 2 liczby a oraz b.

Jeżeli a=b to NWD(a,b)=b,

Jeżeli ab to NWD(a,b)=NWD(min(a,b),|a-b|).

Proszę zaimplementować powyższy algorytm.

UWAGA: proszę nie używać rekurencji ale pętli while.

Zadanie 2.

Szybki Algorytm Euklidesa jest modyfikacją Algorytmu Euklidesa.

Działa on w następujący sposób:

Mamy 2 liczby a oraz b.

Jeżeli b=0 to NWD(a,b)=a,

Jeżeli b0 to NWD(a,b)=NWD(b, (a mod b))

Proszę zaimplementować powyższy algorytm.

UWAGA: proszę nie używać rekurencji ale pętli while.

Zadanie 3.

Algorytm rosyjskich wieśniaków służy do obliczania iloczynu dwóch liczb.

Działa on w następujący sposób:

Mamy 2 liczby a oraz b.

Tworzymy dwie kolumny. Następnie w kolejnych wierszach wpisujemy :

w pierwszym wierszu :

w kolumnie a wartość a,

w kolumnie b wartość b,

w następnych wierszach:

w kolumnie a część całkowitą uzyskaną z podzielenia liczby z poprzedniego wiersza przez 2,

w kolumnie b liczbę uzyskaną z pomnożenia liczby z poprzedniego wiersza przez 2.

Postępujemy tak dopóki liczba w kolumnie a jest większa od 1.

Następnie sumujemy liczby z kolumny b, dla których ich odpowiedniki w kolumnie a są nieparzyste.





a=11


b=6

11


6

5


12

2


24

1


48




6+12+48



66




















//NWD - algorytm Euklidesa

#include <stdio.h>

#include <conio.h>

int main(){

int x, y, p1, p2,p3;

printf("podaj a :");

scanf("%d",&x);

printf("podaj b :");

scanf("%d",&y);

p1=x;

p2=y;

while(p2!=p1) {

if(p1>p2)

p1=p1-p2;

else

p2=p2-p1;

}

printf("\n\nNWD(%d,%d)=%d",x,y,p1);

fflush(stdin);

getch();

return 0;

}

//NWD - szybki algorytm Euklidesa

#include <stdio.h>

#include <conio.h>

int main(){

int x, y, p1, p2,p3;

printf("podaj a :");

scanf("%d",&x);

printf("podaj b :");

scanf("%d",&y);

p1=x;

p2=y;

while(p2!=0) {

p3=p2;

p2=p1%p2;

p1=p3;

}

printf("\n\nNWD(%d,%d)=%d",x,y,p1);

fflush(stdin);

getch();

return 0;

}

//mnożenie - algorytm rosyjskich wieśniaków

#include <stdio.h>

#include <conio.h>

int main(){

int x, y, p1, p2,p3;

printf("podaj a :");

scanf("%d",&x);

printf("podaj b :");

scanf("%d",&y);

p1=x;

p2=y;

p3=0;

while(p1!=1) {

if(p1%2)

p3+=p2;

p1=p1/2;

p2*=2;

}

p3+=p2;

printf("\n\n%d*%d=%d",x,y,p3);

fflush(stdin);

getch();

return 0;

}

//mnożenie - algorytm rosyjskich wieśniaków

//wersja wielokrotna

#include <stdio.h>

#include <conio.h>

int main(){

int x, y, p1, p2,p3,stop;

stop=1;

while(stop!=0) {

printf("\n\npodaj a :");

stop=scanf("%d",&x);

if(stop!=0) {

printf("podaj b :");

scanf("%d",&y);

p1=x;

p2=y;

p3=0;

while(p1!=1) {

if(p1%2)

p3+=p2;

p1=p1/2;

p2*=2;

}

p3+=p2;

printf("\n\n%d*%d=%d",x,y,p3);

fflush(stdin);

getch();

system("cls");

}

else

getchar();

}

system("cls");

printf("\n\nK O N I E C");

fflush(stdin);

getch();

return 0;

}


Zadanie 1. Proszę napisać program, który

1.wczyta z klawiatury liczbę linii

2.wydrukuje obrazek:

*

**

***

****

*****

******

Zadanie 2. Proszę napisać program, który

1.wczyta z klawiatury:

a)liczbę elementów w 1 wierszu

b)liczbę wierszy

c)różnicę pomiędzy ilością elementów pomiędzy kolejnymi wierszami

2.policzy sumę elementów tak zdefiniowanej struktury danych, wczytywanych z klawiatury


Przykład 1:

Liczba elementów w 1 wierszu:

3

liczba wierszy:

5

różnica:

2

Wygląd danych

5, 7, 3

8, 6, 4, 5, 9

13,21, 2, 5, 6, 8, 7


Suma=109


Przykład 2:

Liczba elementów w 1 wierszu:

7

liczba wierszy:

5

różnica:

-2

Wygląd danych

13,21, 2, 5, 6, 8, 7

8, 6, 4, 5, 9

5, 7, 3

Suma=109





Zadanie 3.

Rekurencyjna definicja ciągu Fibonacciego ma postać:

a0=1

a1=1

an=an-1+an-2

Proszę napisać program obliczjący iteracyjnie n-ty wyraz ciągu Fibonacciego.


Zadanie 4. Proszę napisać program, który

wczyta z klawiatury podzielniki a1 i a2 oraz liczby x1 i x2, a następnie wczyta dane z klawiatury. Wczytywanie kończy się gdy liczba danych podzielnych przez a1 jest równa x1 lub liczba danych podzielna przez a2 jest równa x2. Program ma wyliczyć i wydrukować różnicę sumy wszystkich danych pomniejszoną o iloczyn danych podzielnych przez a1 i podwojoną sumę danych podzielnych przez a2.

Zadanie 5. Proszę napisać program, który

1.wczyta z klawiatury liczbę linii

2.liczbę gałęzi

3.wydrukuje obrazek dla 3 linii i 4 gałęzi:


*

***

*****

*

***

*****

*

***

*****

*

***

*****


Zadanie 6*.

Rekurencyjna definicja ciągu ma postać:

a0=1

a1=1

a2=2

an=2an-1+3an-2 +an-3- n dla n>2

Proszę napisać program obliczjący iteracyjnie n-ty wyraz tego ciągu.


Zadanie 7*.

Proszę napisać program, który wykonuje operację szybkiego potęgowania na dwóch liczbach całkowitych (modyfikacja algorytmu rosyjskich wieśniaków ).








































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































11


Wyszukiwarka

Podobne podstrony:
Zadanie 02 2008 05 20, MEiL, [NW 125] Podstawy konstrukcji maszyn II, Kolokwia
rozdzial 07 zadanie 02
Zadania 02 CR2 wtorek(A)
02 02 podstawy statyki zadanie 02
CHiF zadania 02 2013
komórka zadania 02
CHiF zadania 02 2013
06 zginanie ukosne zadanie 02 b Nieznany (2)
rozdzial 08 zadanie 02
Zadania 02 CR2 wtorek(B)
Zadania 02 OCENY
01 02 analiza kinematyczna zadanie 02
Kryptografia zadania 02
Zadania 02 11 2015
Zadanie 02 Lista 08 m

więcej podobnych podstron