4. a,b
#include
#include
#include
using namespace std;
string sortuj(string slowo){
string wyj;
for(int i=97;i<123;i++){
for(int v=0;v
if(slowo[v]==char(i)){
wyj = wyj + char(i); }
}
}
return wyj;
}
int main()
{
fstream plik("anagram.txt");
ofstream odp1("odp_4a.txt");
ofstream odp2("odp_4b.txt");
string q,w,e,r,t;
while(!plik.eof()){
plik >> q >> w >> e >> r >> t;
if(q.length() == w.length() && q.length() == e.length() && q.length() == r.length() && q.length() == t.length()){
odp1 << (q+" "+w+" "+e+" "+r+" "+t+"\r\n");
int l = q.length();
if(sortuj(q) == sortuj(w) && sortuj(q) == sortuj(e) && sortuj(q) == sortuj(r) && sortuj(q) == sortuj(t)){
odp2 << (q+" "+w+" "+e+" "+r+" "+t+"\r\n");
}
}
}
return 0;
}
5. Dodałem z pliku tekstowego pesele, gdzie każdy numer to nowe pole oraz identyfikator** a)**
SELECT Count(Pesel.Identyfikator) AS Osoby_urodzone_w_grudniu
FROM Pesel
GROUP BY [Pole3] & [Pole4]
HAVING ((([Pole3] & [Pole4])=12));
b)
SELECT Count(Pesel.Identyfikator) AS PoliczOfIdentyfikator
FROM Pesel
GROUP BY [Pole10] Mod 2
HAVING ((([Pole10] Mod 2)=0));
c)
SELECT TOP 1 Count(Pesel.Identyfikator) AS Najwiecej_urodzonych, [Pole1] & [Pole2] AS Wyr1
FROM Pesel
GROUP BY [Pole1] & [Pole2]
ORDER BY Count(Pesel.Identyfikator) DESC;
d)
SELECT [Pole1] & [Pole2] & [Pole3] & [Pole4] & [Pole5] & [Pole6] & [Pole7] & [Pole8] & [Pole9] & [Pole10] & [Pole11] AS Bledne_cyfry_kontrolne
FROM Pesel
GROUP BY [Pole1] & [Pole2] & [Pole3] & [Pole4] & [Pole5] & [Pole6] & [Pole7] & [Pole8] & [Pole9] & [Pole10] & [Pole11], Pesel.Identyfikator, IIf(IIf((([Pesel].[Pole1]+[Pesel].[Pole2]*3+[Pesel].[Pole3]*7+[Pesel].[Pole4]*9+[Pesel].[Pole5]+[Pesel].[Pole6]*3+[Pesel].[Pole7]*7+[Pesel].[Pole8]*9+[Pesel].[Pole9]+[Pesel].[Pole10]*3) Mod 10)=0,0,10-(([Pesel].[Pole1]+[Pesel].[Pole2]*3+[Pesel].[Pole3]*7+[Pesel].[Pole4]*9+[Pesel].[Pole5]+[Pesel].[Pole6]*3+[Pesel].[Pole7]*7+[Pesel].[Pole8]*9+[Pesel].[Pole9]+[Pesel].[Pole10]*3) Mod 10))=[Pesel].[Pole11],1,0)
HAVING (((IIf(IIf((([Pesel].[Pole1]+[Pesel].[Pole2]*3+[Pesel].[Pole3]*7+[Pesel].[Pole4]*9+[Pesel].[Pole5]+[Pesel].[Pole6]*3+[Pesel].[Pole7]*7+[Pesel].[Pole8]*9+[Pesel].[Pole9]+[Pesel].[Pole10]*3) Mod 10)=0,0,10-(([Pesel].[Pole1]+[Pesel].[Pole2]*3+[Pesel].[Pole3]*7+[Pesel].[Pole4]*9+[Pesel].[Pole5]+[Pesel].[Pole6]*3+[Pesel].[Pole7]*7+[Pesel].[Pole8]*9+[Pesel].[Pole9]+[Pesel].[Pole10]*3) Mod 10))=[Pesel].[Pole11],1,0))=0))
ORDER BY [Pole1] & [Pole2] & [Pole3] & [Pole4] & [Pole5] & [Pole6] & [Pole7] & [Pole8] & [Pole9] & [Pole10] & [Pole11];
6.** a)**
SELECT Count(Uczniowie.IDucznia) AS UczniowiePozaStrefa
FROM Uczniowie
WHERE Uczniowie.ulica = 'Sportowa' or Uczniowie.ulica = 'Worcella';
b)
SELECT Oceny.Ocena AS Oceny_z_polskiego
FROM Uczniowie INNER JOIN (Oceny INNER JOIN Przedmioty ON Oceny.IDprzedmiotu = Przedmioty.IDprzedmiotu) ON Uczniowie.IDucznia = Oceny.IDucznia
WHERE (((Uczniowie.nazwisko)='Augustyniak') AND ((Uczniowie.imie)='Jan') AND ((Przedmioty.NazwaPrzedmiotu)='polski'));
c) pomocnicze kwerendy chlopcy i dziewczeta
SELECT Uczniowie.IDklasy, Count(Uczniowie.IDucznia) AS chlopcy
FROM Uczniowie
WHERE (((Right([Uczniowie]![imie],1))<>'a'))
GROUP BY Uczniowie.IDklasy;
SELECT Uczniowie.IDklasy, Count(Uczniowie.IDucznia) AS dziewczeta
FROM Uczniowie
WHERE (((Right([Uczniowie]![imie],1))='a'))
GROUP BY Uczniowie.IDklasy;
oraz punkt c
SELECT chlopcy.IDklasy, dziewczeta.dziewczeta, chlopcy.chlopcy
FROM chlopcy INNER JOIN dziewczeta ON chlopcy.IDklasy = dziewczeta.IDklasy;
d)
SELECT Round(Avg([Ocena]),2) AS srednia, Przedmioty.NazwaPrzedmiotu
FROM Uczniowie INNER JOIN (Oceny INNER JOIN Przedmioty ON Oceny.IDprzedmiotu = Przedmioty.IDprzedmiotu) ON Uczniowie.IDucznia = Oceny.IDucznia
WHERE (((Uczniowie.IDklasy)='2a'))
GROUP BY Przedmioty.NazwaPrzedmiotu
ORDER BY Avg(Round([Ocena],2)) DESC;
e)
SELECT Uczniowie.imie, Uczniowie.nazwisko, Przedmioty.NazwaPrzedmiotu
FROM Uczniowie INNER JOIN (Oceny INNER JOIN Przedmioty ON Oceny.IDprzedmiotu = Przedmioty.IDprzedmiotu) ON Uczniowie.IDucznia = Oceny.IDucznia
WHERE (((Oceny.Ocena)=1) AND ((Month([Oceny]![Data]))=4) AND ((Year([Oceny]![Data]))=2009) AND ((Uczniowie.IDklasy)='2c'))
ORDER BY Uczniowie.nazwisko;
f)
SELECT TOP 1 Uczniowie.nazwisko, Uczniowie.imie, Uczniowie.IDklasy, Avg(Oceny.Ocena) AS ŚredniaOfOcena
FROM Uczniowie INNER JOIN Oceny ON Uczniowie.IDucznia = Oceny.IDucznia
GROUP BY Uczniowie.nazwisko, Uczniowie.imie, Uczniowie.IDklasy
ORDER BY Avg(Oceny.Ocena) DESC;
Dodam, że znam w podstawowym stopniu język sql, zatem łatwiej mi się w accesie robi, bo wiele komend jest podobnych. Jak coś nie działa to przełączam na widok SQL. Na maturze na tą cześć jest 2,5h i po wykonaniu nie jest to takie trudne. Ale robiłem o wiele dłużej.