
Napisałem do dr Pintery maila z prośbą o pytania z 1 kolokwium.
Oto adres do pliku
http://www.sendspace.pl/file/0077235d74949dca7447b89
Pozdrawiam i powodzenia na poprawce .
Offline
wymeczylem dwie grupy tego koła:
//gr a
Spoiler:
//zad 1
int main(int argc, char *argv[]){
int odcinek1, odcinek2, odcinek3;
cout<<"zapodaj wartosci odinkow:\n";
cin>>a;
cin>>b;
cin>>c;
if( a+b>c && a+c>b && b+c>a){
cout<<"z tych odcinkow mozna zbudowac trojkat\n\n";
}
else{
cout<<"z tych odcinkow nie da sie zbudowac trojkata\n\n";
}
return 0;
}
//*********************************
//zad2
int policz (char napis){
int ilosc=0;
if (tab[0]!='_'){
ilosc++;
}
int i=1;
do{
if (tab[i]=='_' && tab[i+1]!='_'){
ilosc++;
}
i++;
}while(tab[i+1]!=0)
return ilosc;
}
//*********************************
//zad3
int znajdz31 (int tab[], int n){
//sortowanie
for (int i=1; i<n; i++){
int temp=tab[i];
int j=i-1;
while (tab[j]<temp && j>=0){
tab[j+1]=tab[j];
j=j-1;
}
tab[j+1]=temp;
}
int i=0;
//liczenie wyrazow
do{
if(tab[i]==31){
return i;
}
i++;
}while(i<n && tab[i]<32);
return -1;
}
//*********************************
//zad4
int ile (int N, int M, int tab[128][128]){
//liczenie sredniej
float srednia=0;
for(int i=0; i<N; i++){
for (int j=0; j<M; j++){
srednia=srednia+tab[i][j];
}
}
srednia=srednia/(M*N);
//zliczanie elementow
int ilosc=0;
for(int i=0; i<N; i++){
for (int j=i+1; j<M; j++){
if (tab[i][j]>srednia(N,M,tab))
ilosc=ilosc+1;
}
}
return ilosc;
}
//*********************************
//gr b
Spoiler:
//zad1
int nwd (int a, int b){
if (b==0){
return a;
}
else{
return nwd(b, a%b);
}
}
int main(int argc, char *argv[]){
int a, b;
cout<<"zapodaj dwie liczby dla ktorych bedziemy szukac NWD\n";
cin>>a;
cin>>b;
cout<<"NWD liczb "<<a<<" i "<<b<<" to: "<<nwd(a, b)<<"\n\n";
return 0;
}
//*********************************
//zad2
void znajdz_alfabet(char napis){
int i=0;
int j='A'
do{
if (tab[i]==j){
j++;
}
i++;
}while(tab[i]!=0 && j<'Z');
if(j='Z')
cout<<"w tym napisie znajduje sie alfabet";
else
cout<<"w tym napisie nie ma alfabetu";
}
//*********************************
//zad3
int mediana(int tab[], int n){
//sortownie
int min;
int temp;
for(int i=0; i<n+1; i++){
min=i;
for(int j=i+1; j<n+1; j++){
if (tab[j]<tab[min]){
min=j;
}
}
temp=tab[min];
tab[min]=tab[i];
tab[i]=temp;
};
//wyznaczanie mediany
if (n%2==0){
return (tab[n/2]+tab[-1+n/2])/2;
}
else{
return tab[n/2];
}
}
//*********************************
//zad4
int ile (int N, int M, int tab[128][128]){
//wyliczanie sredniej
float srednia=0;
for(int i=0; i<N; i++){
for (int j=0; j<M; j++){
srednia=srednia+tab[i][j];
}
}
srednia=srednia/(M*N);
//liczenie ile elementow
int ilosc=0;
for(int i=0; i<N; i++){
for (int j=0; j<i; j++){
if (tab[i][j]<srednia(N,M,tab))
ilosc=ilosc+1;
}
}
return ilosc;
}
//*********************************
i mam do tego kilka pytan:
- czy to jest ok? w sensie czy cos powinno byc jakos krócej ladniej zapisane i czy w ogole tak to powinno wygladac
- do zad3 gr a. Co zrobic jak sie okaze ze nie ma tam elemetu o wartosci 31?
- NAJWAZNIEJSZE PYTANIE: jak wygladaja poprawnie te cale asercje poczatkowe i koncowe??
Offline
wiadomość od P. Pintery.
Kolokwium będzie podobne do tego które były dotychczas. Proszę przećwiczyć szczególnie listy np.:
· Wstaw element List* elem na początek/koniec listy jedno/dwukierunkowej.
· Wstaw nowy element o wartości int x na początek/koniec listy jedno/dwukierunkowej.
· Wstaw nowy element o wartości int x za/przed elementem o wartości int szukana.
· Usuń z listy wszystkie elementy o wartości int x.
· Wyszukaj w liście pierwszy/ostatni element o wartości int x.
Drzewa np.:
· Znajdź element o wartości max/min w drzewie.
· Policz ile liści/węzłów ma drzewo
· Znajdź element o wartości int x w drzewie
· Policz ile elementów o wartości int x znajduje się w drzewie.
Wyliczyć pewne właściwości macierzy (dwuwymiarowej tablicy) np.:
· Wyliczyć sumę pól z białych/czarnych pól szachownicy
· Wyliczyć iloczyn elementów z prawej-górnej (itp.) ćwiartki macierzy
· Znaleźć maksymalny element z górnej połowy macierzy
· Itp.
Proste zadania tablicowe – jak np. sprawdzić czy tablica char jest palindromem [czytana od początku do końca jest taka sama]. Znaleźć max/min z tablicy i podać indeks.
…A także jak naprawić zepsutą listę.
Offline