Laboratorium 6

0x08 graphic
0x08 graphic
0x01 graphic

1. Cel ćwiczenia

Celem ćwiczenia jest zapoznanie się z obsługą C.

2. Przykłady

Zad1

Napisz program liczący silnie iteracyjnie i rekurencyjnie. Na wejście programu podawana będzie liczba, która jest parametrem funkcji.

#include <stdio.h>

#include <conio.h>

int silniaiteracyjnie(int x)

{

int i,silnia = 1;

for(i=1; i<=x; i++)

{

silnia *= i;

}

return silnia;

}

int silniarekurencyjnie(int x)

{

if(x==0)

{

return 1;

}

else

{

return x*silniarekurencyjnie(x-1);

}

}

int main(void)

{

int a,b;

printf("Z jakiej liczby mam obliczyc silnie iteracyjnie i rekurencyjnie? Podac liczba >0\n");

scanf("%d",&a);

if(a>0){

b = silniaiteracyjnie(a);

printf("Silnia iteracyjnie = %d\n",b);

b = silniarekurencyjnie(a);

printf("Silnia rekurencyjnie = %d\n",b);

}

if(a<=0){

printf("Podaj liczbe poprawnie\n");

}

getch();

}

Zad2

Napisać program wczytujący napis, a następnie szyfrujący go przez kolejne pobieranie elementów z obu końców napisu (element z początku przed elementem z końca) aż do osiągnięcia środka napisu. Na przykład napis „Pozdrowienia” po zaszyfrowaniu „Paoiznderiow” (użyć pętli while).

#include <stdio.h>

#include <string.h>

int main(void){

char nap[80];

int i,j;

printf("Wprowadz komunikat:\n");

gets(nap);

/*szyfrowanie*/

i=0;j=strlen(nap)-1;

while(i<=j){

if(i<j)printf("%c%c",nap[i],nap[j]);

else printf("%c",nap[i]);

i++;j--;

}

return 0;

}

Zad3

Napisać program, który porównuje dwa napisy. Napisy są podawana jako parametry, int main(int argc, char *argv[ ]). Zastosować funkcję strcmp. Funkcja strcmp() zwraca liczbę mniejszą od zera, gdy s1 < s2, 0 gdy s1 jest taki sam jak s2 oraz liczbę większą od zera gdy s1 > s2.

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main(int argc, char *argv[ ]){

int i;

if(argc!=3){

printf("Nalezy podac dwa argumenty.\n");

exit(1);

}

i=strcmp(argv[1], argv[2]);

if(i<0)printf("\n %s jest rozny od %s",argv[2],argv[1]);

else if(i>0)printf("\n jest rozny od < %s",argv[2],argv[1]);

else printf("\n Sa takie same");

return 0;

}

3. Program ćwiczenia

Zad4

Napisać program zliczający liczbę znaków spacji, przecinków oraz kropek w ciągu znaków. Do określenia kategorii znaku należy skorzystać z instrukcji switch.

Zad5

Napisać program, który pobiera 10 liczb z klawiatury, następnie wyświetla sumę liczb parzystych i liczb nieparzystych (użyć tablicy).

Zad6

Napisać program, który pyta o podanie hasła 3 razy. W przypadku gdy hasło zostaje źle wpisane wyświetla się napis „Dostęp zabroniony”. Jeśli hasło zostało dobrze wpisane wyświetla się napis „Logowanie powiodło się”.

Zad7

Napisać program „komputerowa książka telefoniczna”. Program będzie używać następujących danych

Char telefon [ ][2][40]={

”Jozef”,”622-1010”,

”Maciej”, ”622-1234”,

”Bernadetta”,”629-0125”,

”Luis”, ”628-7193”

}

Pobierać ma imię osoby, kolejno ma wyświetlać telefon danej osoby (użyć tablic).

3

Podstawy Informatyki