To co napisałem do tej pory:Napisz program, ktory zapelnia tablice
- A o rozmiarze N=100 oraz tablice
- B o rozmiarze N=5
wartosciami losowymi. Nastepnie program sprawdza czy tablica B zawiera sie w tablicy A
(nalezy sprawdzic, czy w tablicy A wystepuja takie same wartosci i w takiej samej kolejnosci jak w tablicy B - ewentualnie ile razy wystepuja).
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <moje_funkcje.h>
#define A 6
#define B 2
void Uzupelnij_Tablice(int Nazwa_Tab[],int Wielkosc_Tab, int Przedzial)
{
int i;
for(i=0;i<Wielkosc_Tab;i++)
{
Nazwa_Tab[i] = rand()%Przedzial;
}
}
void Wypisz_Tablice(int tab[], int size)
{
int i;
for(i=0;i<size;i++) printf("[%d]%d ",i,tab[i]);
}
void Sprawdz_Wzorzec(int Nazwa_Tab_A[], int Tab_Wzorzec[], int Wielkosc_Tab_A, int Wielkosc_Tab_B)
{
int i,j,temp=0;
for(i=0;i<Wielkosc_Tab_A;i++)
{
printf("A: %d
",i);
for(j=0;j<Wielkosc_Tab_B;j++)
{
printf("B: %d
",j);
if(Tab_Wzorzec[j] == Nazwa_Tab_A[i])
{
temp = temp + 1;
i++;
if(temp == Wielkosc_Tab_B)
{
printf("Tablica B zawiera sie w A.");
break;
}
} else j=0;
}
}
}
int main()
{
srand( (unsigned int)time(NULL) );
int tab_A[A], tab_B[B];
system("cls");
Uzupelnij_Tablice(tab_A,A,5);
Uzupelnij_Tablice(tab_B,B,5);
Wypisz_Tablice(tab_A,A);
printf("
");
Wypisz_Tablice(tab_B,B);
Sprawdz_Wzorzec(tab_A,tab_B,A,B);
system("pause");
return 0;
}
Kod: Zaznacz cały
1. Sprawdź czy 0 element tablicy B jest równy 0 elementowi tablicy Jeśli:
Tak: Sprawdz czy 1 element tablicy B jest równy 1 elementowi tablicy A.
Tak: Sprawdz czy 2 element tablicy B jest równy 2 elementowi tablicy A.
Nie: Sprawdz czy 0 element tablicy B jest równy 3 elementowi tablicy A.
Nie: Sprawdź czy 0 element tablicy B jest równy 1 elementowi tablicy A.
Tak: Sprawdz czy 1 element tablicy B jest równy 2 elementowi tablicy.
Mam nadzieje że ktoś zrozumie to co napisałem. Myślałem o wykorzystaniu sortowania bąbelkowego ale nie do sprawdzania większości tylko równości. Proszę o pomoc