Formuła 2015
2015
Zadanie 4.1
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string dwojkowa;
int liczba0, liczba1, licznik=0;
ifstream odczyt("liczby.txt");
ofstream zapis("wyniki_4_1.txt");
zapis<<"Zadanie 4.1"<<endl;
for (int i=1;i<=1000;i++)
{
odczyt>>dwojkowa;
liczba0=0;
liczba1=0;
for (int j=0;j<dwojkowa.size();j++)
if (dwojkowa[j]=='0') liczba0++;
else liczba1++;
if (liczba0>liczba1) licznik++;
}
zapis<<licznik;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4.2
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string dwojkowa;
int przez2=0, przez8=0, dl;
ifstream odczyt("liczby.txt");
ofstream zapis("wyniki_4_2.txt");
zapis<<"Zadanie 4.2"<<endl;
for (int i=1;i<=1000;i++)
{
odczyt>>dwojkowa;
dl=dwojkowa.size();
if (dwojkowa[dl-1]=='0') przez2++;
if (dwojkowa[dl-1]=='0' && dwojkowa[dl-2]=='0' && dwojkowa[dl-3]=='0') przez8++;
}
zapis<<"podzielne przez 2: "<<przez2<<endl;
zapis<<"podzielne przez 8: "<<przez8<<endl;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4.3
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
double zamiana(string dwojkowa)
{
double liczba=0, p=1;
for (int i=dwojkowa.size()-1;i>=0;i--)
{
if (dwojkowa[i]=='1') liczba=liczba+p;
p=p*2;
}
return liczba;
}
int main()
{
string dwojkowa;
int wierszmin=1, wierszmax=1;
double min, max, dz;
ifstream odczyt("liczby.txt");
ofstream zapis("wyniki_4_3.txt");
zapis<<"Zadanie 4.3"<<endl;
odczyt>>dwojkowa;
dz=zamiana(dwojkowa);
min=dz;
max=dz;
for (int i=2;i<=1000;i++)
{
odczyt>>dwojkowa;
dz=zamiana(dwojkowa);
if (dz<min)
{
min=dz;
wierszmin=i;
}
if (dz>max)
{
max=dz;
wierszmax=i;
}
}
zapis<<"Wiersz najmniejszej liczby: "<<wierszmin<<endl;
zapis<<"Wiersz najwiekszej liczby: "<<wierszmax<<endl;
odczyt.close();
zapis.close();
return 0;
}
2016
Zadanie 6.1
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string wyraz, szyfrogram;
int k=107%26, kod;
ifstream odczyt("dane_6_1.txt");
ofstream zapis("wyniki_6_1.txt");
zapis<<"Zadanie 6.1"<<endl;
while (!odczyt.eof())
{
szyfrogram="";
odczyt>>wyraz;
for (int i=0;i<wyraz.size();i++)
{
kod=(wyraz[i]+k-'A')%26+'A';
szyfrogram=szyfrogram+char(kod);
}
zapis<<szyfrogram<<endl;
}
odczyt.close();
zapis.close();
return 0;
}
Zadanie 6.2
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string wyraz, odszyfrowane;
int k, kod;
ifstream odczyt("dane_6_2.txt");
ofstream zapis("wyniki_6_2.txt");
zapis<<"Zadanie 6.2"<<endl;
for (int i=1;i<=3000;i++)
{
odszyfrowane="";
odczyt>>wyraz>>k;
k=k%26;
for (int i=0;i<wyraz.size();i++)
{
kod=(wyraz[i]-k+'A')%26+'A';
odszyfrowane=odszyfrowane+char(kod);
}
zapis<<odszyfrowane<<endl;
}
odczyt.close();
zapis.close();
return 0;
}
Zadanie 6.3
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string wyraz, szyfrogram;
int k1, k2, j;
ifstream odczyt("dane_6_3.txt");
ofstream zapis("wyniki_6_3.txt");
zapis<<"Zadanie 6.3"<<endl;
for (int i=1;i<=3000;i++)
{
odczyt>>wyraz>>szyfrogram;
if (szyfrogram[0]-wyraz[0]<0)
k1=(szyfrogram[0]-wyraz[0])+26;
else
k1=szyfrogram[0]-wyraz[0];
j=1;
while (j<wyraz.size())
{
if (szyfrogram[j]-wyraz[j]<0)
k2=(szyfrogram[j]-wyraz[j])+26;
else
k2=szyfrogram[j]-wyraz[j];
j++;
if (k1!=k2) j=wyraz.size()+10;
}
if (j==wyraz.size()+10) zapis<<wyraz<<endl;
}
odczyt.close();
zapis.close();
return 0;
}
2017
Zadanie 6.1
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
ifstream odczyt("dane.txt");
ofstream zapis("wyniki6_1.txt");
int p, pmin=256, pmax=-1;
zapis<<"Zad. 6.1."<<endl;
while (!odczyt.eof())
{
for (int i=1;i<=320;i++)
{
odczyt>>p;
if (p<pmin) pmin=p;
if (p>pmax) pmax=p;
}
}
zapis<<"Najjasniejszy piksel: "<<pmax<<endl;
zapis<<"Najciemniejszy piksel: "<<pmin<<endl;
odczyt.close();
zapis.close();
return 0;
}Zadanie 6.2
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
ifstream odczyt("przyklad.txt");
ofstream zapis("wyniki6_2.txt");
int piksele[320], i, j, licznik=0;
zapis<<"Zad. 6.2."<<endl;
while (!odczyt.eof())
{
for (i=0;i<320;i++)
{
odczyt>>piksele[i];
}
i=0;
j=319;
while (piksele[i]==piksele[j] && i<j)
{
i++;
j--;
}
if (i<j) licznik++;
}
zapis<<licznik<<endl;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 6.3
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
ifstream odczyt("dane.txt");
ofstream zapis("wyniki6_3.txt");
int piksele[200][320], kont[200][320]={0}, i, j, licznik=0;
zapis<<"Zad. 6.3."<<endl;
for (i=0;i<200;i++)
for (j=0;j<320;j++)
odczyt>>piksele[i][j];
for (i=0;i<200;i++)
for (j=0;j<319;j++)
if (abs(piksele[i][j]-piksele[i][j+1])>128)
{
kont[i][j]++;
kont[i][j+1]++;
}
for (j=0;j<320;j++)
for (i=0;i<199;i++)
if (abs(piksele[i][j]-piksele[i+1][j])>128)
{
kont[i][j]++;
kont[i+1][j]++;
}
for (i=0;i<200;i++)
for (j=0;j<320;j++)
if (kont[i][j]>0) licznik++;
zapis<<licznik<<endl;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 6.4
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
ifstream odczyt("dane.txt");
ofstream zapis("wyniki6_4.txt");
int piksele[200][320], i, j, licznik=1, licznikmax=0;
zapis<<"Zad. 6.4."<<endl;
for (i=0;i<200;i++)
for (j=0;j<320;j++)
odczyt>>piksele[i][j];
for (j=0;j<320;j++)
for (i=0;i<199;i++)
if (piksele[i][j]==piksele[i+1][j])
{
licznik++;
if (licznik>licznikmax) licznikmax=licznik;
}
else licznik=1;
licznik=1;
zapis<<licznikmax<<endl;
odczyt.close();
zapis.close();
return 0;
}
2018
Zadanie 4.1
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream odczyt("sygnaly.txt");
ofstream zapis("wyniki4_1.txt");
string wyraz, przeslanie="";
zapis<<"Zad. 4.3."<<endl;
for (int i=1;i<=1000;i++)
{
odczyt>>wyraz;
if (i%40==0) przeslanie=przeslanie+wyraz[9];
}
zapis<<przeslanie;
odczyt.close();
zapis.close();
return 0;
}Zadanie 4.2
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream odczyt("sygnaly.txt");
ofstream zapis("wyniki4_2.txt");
string wyraz, najdluzszy;
int litery[26], suma, sumamax=0, i;
zapis<<"Zad. 4.2."<<endl;
while (!odczyt.eof())
{
odczyt>>wyraz;
suma=0;
for (i=0;i<26;i++)
litery[i]=0;
for (i=0;i<wyraz.size();i++)
litery[wyraz[i]-'A']++;
for (i=0;i<26;i++)
if (litery[i]>0) suma++;
if (suma>sumamax)
{
sumamax=suma;
najdluzszy=wyraz;
}
}
zapis<<najdluzszy<<" "<<sumamax;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4.3
#include<iostream>
#include<fstream>
#include<string>
#include<cmath>
using namespace std;
int main()
{
ifstream odczyt("sygnaly.txt");
ofstream zapis("wyniki4_3.txt");
string wyraz;
int dl, odl, odlmax;
zapis<<"Zad. 4.3."<<endl;
while (!odczyt.eof())
{
odczyt>>wyraz;
odlmax=0;
dl=wyraz.size();
if (dl==1) zapis<<wyraz<<endl;
else
{
for (int i=0;i<dl;i++)
for (int j=i+1;j<dl;j++)
{
odl=abs(wyraz[j]-wyraz[i]);
if (odl>odlmax) odlmax=odl;
}
if (odlmax<=10) zapis<<wyraz<<endl;
}
}
odczyt.close();
zapis.close();
return 0;
}
2019
Zadanie 4.1
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
ifstream odczyt("liczby.txt");
ofstream zapis("wyniki4_1.txt");
long long liczba, potega;
int licznik=0, i;
while (!odczyt.eof())
{
odczyt>>liczba;
i=0;
potega=0;
while (potega<liczba)
{
potega=pow(3,i);
if (potega==liczba)
licznik++;
i++;
}
}
zapis<<"Zad. 4.1."<<endl<<licznik;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4.2
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int silnia(int n)
{
if (n==0) return 1;
return silnia(n-1)*n;
}
int main()
{
ifstream odczyt("przyklad.txt");
ofstream zapis("wyniki4_2.txt");
long long liczba, suma, wejscie;
int cyfra;
zapis<<"Zad. 4.2."<<endl;
while (!odczyt.eof())
{
odczyt>>liczba;
wejscie=liczba;
suma=0;
while (liczba>0)
{
cyfra=liczba%10;
liczba=liczba/10;
suma=suma+silnia(cyfra);
}
if (suma==wejscie && suma!=0) zapis<<wejscie<<endl;
}
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4.3
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int NWD(int a, int b)
{
int r;
while (b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
ifstream odczyt("liczby.txt");
ofstream zapis("wyniki4_3.txt");
long long liczba1, liczba2, liczba, liczba_pierwsza;
int licznik=0, licznikmax=0, nwd_aktualne, nwd;
zapis<<"Zad. 4.3."<<endl;
odczyt>>liczba1;
odczyt>>liczba2;
nwd_aktualne=NWD(liczba1,liczba2);
if (nwd_aktualne!=1)
{
licznik=1;
liczba=liczba1;
nwd=nwd_aktualne;
}
for (int i=3;i<=500;i++)
{
liczba1=liczba2;
odczyt>>liczba2;
if (nwd_aktualne!=1)
{
nwd_aktualne=NWD(nwd_aktualne,liczba2);
if (nwd_aktualne==1)
{
nwd_aktualne=NWD(liczba1,liczba2);
if (nwd_aktualne!=1)
{
licznik=1;
liczba=liczba1;
}
}
else licznik++;
}
else
{
nwd_aktualne=NWD(liczba1,liczba2);
if (nwd_aktualne!=1)
{
licznik=1;
liczba=liczba1;
}
else licznik=0;
}
if (licznik>licznikmax)
{
licznikmax=licznik;
nwd=nwd_aktualne;
liczba_pierwsza=liczba;
}
}
zapis<<liczba_pierwsza<<" "<<licznikmax+1<<" "<<nwd;
odczyt.close();
zapis.close();
return 0;
}
2020
Zadanie 4.1
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
bool sprawdz(int n)
{
for (int i=2;i*i<=n;i++)
if (n%i==0) return false;
return true;
}
int main()
{
ifstream odczyt("pary.txt");
ofstream zapis("wyniki4_1.txt");
string wyraz;
int liczba, pierwsze[100], l, k=0, koniec;
for (int j=2;j<100;j++)
if (sprawdz(j))
{
pierwsze[k]=j;
k++;
}
k--;
koniec=k;
zapis<<"Zad. 4.1."<<endl;
while (!odczyt.eof())
{
k=koniec;
l=0;
odczyt>>liczba>>wyraz;
if (liczba%2==0)
{
while (pierwsze[k]>liczba)
k--;
while (l<=k)
{
if (pierwsze[k]+pierwsze[l]<liczba)
l++;
else
if (pierwsze[k]+pierwsze[l]==liczba)
{
zapis<<liczba<<" "<<pierwsze[l]<<" "<<pierwsze[k]<<endl;
break;
}
else
{
k--;
l=0;
}
}
}
}
odczyt.close();
zapis.close();
cout<<endl;
return 0;
}
Zadanie 4.2
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream odczyt("pary.txt");
ofstream zapis("wyniki4_2.txt");
string wyraz, ciag="", ciagmax="";
int liczba, dlslowa, dlmax, dl;
zapis<<"Zad. 4.2."<<endl;
while (!odczyt.eof())
{
dl=1;
dlmax=1;
odczyt>>liczba>>wyraz;
dlslowa=wyraz.size();
if (dlslowa==1)
{
ciagmax=wyraz;
dlmax=1;
}
else
{
ciagmax="";
ciag=wyraz[dlslowa-1];
for (int i=dlslowa-2;i>=0;i--)
{
if (wyraz[i]==wyraz[i+1])
{
ciag=wyraz[i]+ciag;
dl++;
}
else
{
ciag=wyraz[i];
dl=1;
}
if (dl>=dlmax)
{
dlmax=dl;
ciagmax=ciag;
}
}
}
zapis<<ciagmax<<" "<<dlmax<<endl;
}
odczyt.close();
zapis.close();
cout<<endl;
return 0;
}Zadanie 4.3
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream odczyt("pary.txt");
ofstream zapis("wyniki4_3.txt");
string wyraz, minwyraz;
int liczba, minliczba=101, dl;
zapis<<"Zad. 4.3."<<endl;
while (!odczyt.eof())
{
odczyt>>liczba>>wyraz;
dl=wyraz.size();
if (liczba==dl)
{
if (liczba<minliczba)
{
minliczba=liczba;
minwyraz=wyraz;
}
else
if (liczba==minliczba && wyraz<minwyraz)
{
minliczba=liczba;
minwyraz=wyraz;
}
}
}
zapis<<minliczba<<" "<<minwyraz<<endl;
odczyt.close();
zapis.close();
cout<<endl;
return 0;
}
2021
Zadanie 4.1
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string instrukcja, znak;
int licznik=0;
ifstream odczyt("instrukcje.txt");
ofstream zapis("wyniki_4_1.txt");
zapis<<"Zadanie 4.1"<<endl;
for (int i=1;i<=2000;i++)
{
odczyt>>instrukcja>>znak;
if (instrukcja=="DOPISZ") licznik++;
if (instrukcja=="USUN") licznik--;
}
zapis<<"Dlugosc napisu: "<<licznik<<endl;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4.2
#Zadanie 4.3
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string instrukcja; char znak;
int ilosc[26]={0}, kod, max, indeks=0;
ifstream odczyt("instrukcje.txt");
ofstream zapis("wyniki_4_3.txt");
zapis<<"Zadanie 4.3"<<endl;
for (int i=1;i<=2000;i++)
{
odczyt>>instrukcja>>znak;
if (instrukcja=="DOPISZ")
{
kod=znak-'A';
ilosc[kod]++;
}
}
max=ilosc[0];
for (int i=1;i<26;i++)
if (ilosc[i]>max)
{
max=ilosc[i];
indeks=i;
}
zapis<<"Najczesciej dopisywana litera: "<<char(indeks+'A')<<endl;
zapis<<"Liczba wystapien: "<<max<<endl;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4.4
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string instrukcja, napis="";
char znak;
int dl, j;
ifstream odczyt("instrukcje.txt");
ofstream zapis("wyniki_4_4.txt");
zapis<<"Zadanie 4.4"<<endl;
for (int i=1;i<=2000;i++)
{
odczyt>>instrukcja>>znak;
if (instrukcja=="DOPISZ")
napis=napis+znak;
if (instrukcja=="USUN")
{
dl=napis.size();
napis.erase(dl-1,1);
}
if (instrukcja=="ZMIEN")
{
dl=napis.size();
napis.erase(dl-1,1);
napis=napis+znak;
}
if (instrukcja=="PRZESUN")
{
dl=napis.size();
j=0;
while (j<dl)
{
if (napis[j]==znak)
{
if (znak=='Z') napis[j]='A';
else napis[j]=(znak+1);
j=dl;
}
j++;
}
}
}
zapis<<napis<<endl;
odczyt.close();
zapis.close();
return 0;
}
2022
Zadanie 4.1
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int liczba, cyfry[6], liczba_wystapien=0, pierwsza=0, kopia, j;
ifstream odczyt("liczby.txt");
ofstream zapis("wyniki_4_1.txt");
zapis<<"Zadanie 4.1"<<endl;
for (int i=1;i<=200;i++)
{
odczyt>>liczba;
kopia=liczba;
j=0;
while (liczba>0)
{
cyfry[j]=liczba%10;
liczba=liczba/10;
j++;
}
if (cyfry[0]==cyfry[j-1])
{
liczba_wystapien++;
if (pierwsza==0) pierwsza=kopia;
}
}
zapis<<"Pierwsza liczba: "<<pierwsza<<endl;
zapis<<"Ilość liczb: "<<liczba_wystapien<<endl;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4.2
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int liczba, kopia, l_czynnikow, max_czynnikow=0, l_r_czynnikow, max_r_czynnikow=0, d, aktualny, max, max_r;
ifstream odczyt("liczby.txt");
ofstream zapis("wyniki_4_2.txt");
zapis<<"Zadanie 4.2"<<endl;
for (int i=1;i<=200;i++)
{
l_czynnikow=0;
l_r_czynnikow=0;
d=2;
odczyt>>liczba;
kopia=liczba;
while (liczba>1)
{
if (liczba%d==0)
{
l_czynnikow++;
liczba=liczba/d;
if (l_czynnikow>0 && d!=aktualny) l_r_czynnikow++;
aktualny=d;
}
else
d++;
if (l_czynnikow>max_czynnikow)
{
max=kopia;
max_czynnikow=l_czynnikow;
}
if (l_r_czynnikow>max_r_czynnikow)
{
max_r=kopia;
max_r_czynnikow=l_r_czynnikow;
}
}
}
zapis<<"Max: "<<max<<" - "<<max_czynnikow<<endl;
zapis<<"Max różnych: "<<max_r<<" - "<<max_r_czynnikow<<endl;
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4.3
//trójki
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int main()
{
int liczby[200], liczba_trojek=0;
ifstream odczyt("liczby.txt");
ofstream zapis("wyniki_4_3trojki.txt");
for (int i=0;i<200;i++)
odczyt>>liczby[i];
sort(liczby, liczby+200);
for (int i=0;i<200-2;i++)
for (int j=i+1; j<200-1; j++)
if (liczby[j]%liczby[i]==0)
for (int k=j+1; k<200; k++)
if (liczby[k]%liczby[j]==0)
{
liczba_trojek++;
zapis<<liczby[i]<<" "<<liczby[j]<<" "<<liczby[k]<<endl;
}
zapis<<"Liczba trójek: "<<liczba_trojek;
odczyt.close();
zapis.close();
return 0;
}
//piątki
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int main()
{
int liczby[200], liczba_piatek=0;
ifstream odczyt("liczby.txt");
ofstream zapis("wyniki_4_3piatki.txt");
for (int i=0;i<200;i++)
odczyt>>liczby[i];
sort(liczby, liczby+200);
for (int i=0;i<200-4;i++)
for (int j=i+1; j<200-3; j++)
if (liczby[j]%liczby[i]==0)
for (int k=j+1; k<200-2; k++)
if (liczby[k]%liczby[j]==0)
for (int l=k+1; l<200-1; l++)
if (liczby[l]%liczby[k]==0)
for (int m=l+1; m<200; m++)
if (liczby[m]%liczby[l]==0)
liczba_piatek++;
zapis<<"Liczba piatek: "<<liczba_piatek<<endl;
odczyt.close();
zapis.close();
return 0;
}2023
Zadanie 4.1
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream dane("slowa.txt");
ofstream zapis("wyniki4_1.txt");
string slowo;
int liczw, liczk;
for (int i=1; i<=50; i++)
{
liczw=0; liczk=0;
dane>>slowo;
for (int j=0; j<slowo.size(); j++)
{
if (slowo[j]=='w') liczw++;
if (slowo[j]=='k') liczk++;
}
if (liczw==liczk) zapis<<slowo<<endl;
}
dane.close();
zapis.close();
return 0;
}Zadanie 4.2
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream dane("slowa.txt");
ofstream zapis("wyniki4_2.txt");
string slowo;
int liczw, licza, liczk, liczc, liczj, licze, mini;
for (int i=1; i<=50; i++)
{
liczw=0; licza=0; liczk=0; liczc=0; liczj=0; licze=0;
dane>>slowo;
for (int j=0; j<slowo.size(); j++)
{
if (slowo[j]=='w') liczw++;
if (slowo[j]=='a') licza++;
if (slowo[j]=='k') liczk++;
if (slowo[j]=='c') liczc++;
if (slowo[j]=='j') liczj++;
if (slowo[j]=='e') licze++;
}
licza=licza/2;
mini=liczw;
if (mini>licza) mini=licza;
if (mini>liczk) mini=liczk;
if (mini>liczc) mini=liczc;
if (mini>liczj) mini=liczj;
if (mini>licze) mini=licze;
zapis<<mini<<" ";
}
dane.close();
zapis.close();
return 0;
}
Zadanie 4.3
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
const string W="wakacje";
ifstream dane("slowa.txt");
ofstream zapis("wyniki4_3.txt");
string slowo;
int dop_lit, k, dobre_lit;
for (int i=1; i<=50; i++)
{
dane>>slowo;
dop_lit=0;
k=0;
for (int j=0; j<slowo.size(); j++)
{
if (slowo[j]==W[k])
{
dop_lit++;
k=(k+1)%7;
}
}
dobre_lit=dop_lit-dop_lit%7;
zapis<<slowo.size()-dobre_lit<<" ";
}
dane.close();
zapis.close();
return 0;
}
Formuła 2023
2023
Zadanie 2. Liczby binarne
Zadanie 2.2
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream dane("bin.txt");
string liczba;
int licznik=0, bloki;
for (int i=1; i<=100; i++)
{
dane>>liczba;
bloki=1;
for (int j=1; j<liczba.size(); j++)
if (liczba[j]!=liczba[j-1]) bloki++;
if (bloki<=2) licznik++;
}
cout<<licznik;
dane.close();
cout<<endl<<"koniec ";
return 0;
}
Zadanie 2.3
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream dane("bin.txt");
string liczba, liczba_max="0";
int dl_max=0;
for (int i=1; i<=100; i++)
{
dane>>liczba;
if (liczba.size()>=dl_max)
{
dl_max=liczba.size();
if (liczba>liczba_max)
liczba_max=liczba;
}
}
cout<<liczba_max;
dane.close();
return 0;
}Zadanie 2.5
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream dane("bin.txt");
ofstream zapis("wyniki2_5.txt");
string liczba, liczba_2, l_xor;
int dl;
for (int i=1; i<=100; i++)
{
l_xor="";
dane>>liczba;
dl=liczba.size();
liczba_2=liczba.substr(0,dl-1);
liczba_2='0'+liczba_2;
for (int j=0; j<dl; j++)
{
if (liczba[j]=='1' && liczba_2[j]=='1') l_xor=l_xor+'0';
if (liczba[j]=='1' && liczba_2[j]=='0') l_xor=l_xor+'1';
if (liczba[j]=='0' && liczba_2[j]=='1') l_xor=l_xor+'1';
if (liczba[j]=='0' && liczba_2[j]=='0') l_xor=l_xor+'0';
}
zapis<<l_xor<<endl;
}
dane.close();
zapis.close();
cout<<endl<<"koniec ";
return 0;
}
Zadanie 3. Liczba pi
Zadanie 3.1
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream dane("pi.txt");
int a, b, frag[9999], licznik=0;
dane>>a;
for (int i=1; i<9999; i++)
{
dane>>b;
frag[i-1]=a*10+b;
a=b;
if (frag[i-1]>90) licznik++;
}
cout<<licznik;
dane.close();
zapis.close();
cout<<endl<<"koniec ";
return 0;
}Zadanie 3.2
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream dane("pi.txt");
int a, b, frag[9999], licznik=0, wystapienia[100]={0};
int max_wyst=0, min_wyst=10000, frag_min, frag_max;
dane>>a;
for (int i=1; i<9999; i++)
{
dane>>b;
frag[i-1]=a*10+b;
a=b;
wystapienia[frag[i-1]]++;
}
for (int i=0; i<100; i++)
{
if (wystapienia[i]>max_wyst)
{
max_wyst=wystapienia[i];
frag_max=i;
}
if (wystapienia[i]<min_wyst)
{
min_wyst=wystapienia[i];
frag_min=i;
}
}
cout<<frag_max<<" "<<max_wyst<<endl;
cout<<frag_min<<" "<<min_wyst;
dane.close();
cout<<endl<<"koniec ";
return 0;
}Zadanie 3.3
#include <iostream>
#include <fstream>
using namespace std;
bool rosnacomalejacy(int a[])
{
// k = miejsce podziału (2, 3 lub 4)
for (int k=2; k<=4; k++)
{
bool ok=true;
// część rosnąca
for (int i=0; i<k-1; i++)
{
if (a[i]>=a[i+1])
{
ok=false;
break;
}
}
if (!ok) continue;
// część malejąca
for (int i=k; i<5; i++)
{
if (a[i]<=a[i+1])
{
ok=false;
break;
}
}
if (ok) return true;
}
return false;
}
int main() {
ifstream plik("pi.txt");
int cyfry[10000], a[6], licznik=0;
for (int i=0; i<10000; i++)
{
plik>>cyfry[i];
}
for (int i=0; i<=10000-6; i++)
{
for (int j=0; j<6; j++)
a[j]=cyfry[i+j];
if (rosnacomalejacy(a))
licznik++;
}
cout<<licznik<<endl;
return 0;
}Zadanie 3.4
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream plik("pi.txt");
int cyfry[10000], max_dlugosc=0, najlepszy_start=0, dl_rosn, dl_mal, dl_calkowita;
for (int i=0; i<10000; i++)
plik>>cyfry[i];
for (int start=0; start<10000; start++)
{
int i=start;
int k=i+1;
while (k<10000 && cyfry[k-1]<cyfry[k])
k++;
dl_rosn=k-start;
int j=k;
while (j+1 < 10000 && cyfry[j]>cyfry[j+1])
j++;
dl_mal=j-k+1;
dl_calkowita=dl_rosn+dl_mal;
if (dl_calkowita>max_dlugosc)
{
max_dlugosc=dl_calkowita;
najlepszy_start=start;
}
}
cout<<"Najdluzszy ciag ma dlugosc: "<<max_dlugosc<<endl;
cout<<"Zaczyna sie na pozycji: "<<najlepszy_start+1<<endl;
cout<<"Ciag: ";
for (int i=najlepszy_start; i<najlepszy_start + max_dlugosc; i++)
cout<<cyfry[i];
return 0;
}2024
Zadanie 3. Nieparzysty skrót
Zadanie 3.2
#include<iostream>
#include<fstream>
using namespace std;
int SKROT(int n)
{
int skr=0, mnoznik=1;
while (n>0)
{
if (n%2!=0)
{
skr=skr+(n%10*mnoznik);
mnoznik=mnoznik*10;
}
n=n/10;
}
return skr;
}
int main()
{
ifstream dane("skrot.txt");
int x, y=0, licznik=0;
for (int i=1; i<=200; i++)
{
dane>>x;
if (SKROT(x)==0)
{
licznik++;
if (x>y) y=x;
}
}
cout<<"Liczba wszystkich liczb: "<<licznik<<endl;
cout<<"Najwieksza: "<<y;
dane.close();
return 0;
}Zadanie 3.3
#include<iostream>
#include<fstream>
using namespace std;
int SKROT(int n)
{
int skr=0, mnoznik=1;
while (n>0)
{
if (n%2!=0)
{
skr=skr+(n%10*mnoznik);
mnoznik=mnoznik*10;
}
n=n/10;
}
return skr;
}
int NWD(int a, int b)
{
int r;
while (b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
ifstream dane("skrot2.txt");
ofstream zapis("wyniki3_3.txt");
int x, y;
for (int i=1; i<=200; i++)
{
dane>>x;
y=SKROT(x);
if (NWD(x,y)==7) zapis<<x<<endl;
}
dane.close();
zapis.close();
cout<<endl<<"koniec ";
return 0;
}Zadanie 4. Liczby
Zadanie 4.1
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream dane("liczby.txt");
int l_pierwsze[3000], liczby[20], licznik=0;
for (int i=0; i<3000; i++)
dane>>l_pierwsze[i];
for (int i=0; i<20; i++)
dane>>liczby[i];
for (int i=0; i<3000; i++)
for (int j=0; j<20; j++)
if (liczby[j]%l_pierwsze[i]==0)
{
licznik++;
break;
}
cout<<licznik;
dane.close();
return 0;
}
Zadanie 4.2
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
bool malejaco(int a, int b)
{
return a>b;
}
int main()
{
ifstream dane("liczby.txt");
int l_pierwsze[3000], liczby[20];
for (int i=0; i<3000; i++)
dane>>l_pierwsze[i];
for (int i=0; i<20; i++)
dane>>liczby[i];
sort(l_pierwsze, l_pierwsze+3000, malejaco);
cout<<l_pierwsze[100];
dane.close();
cout<<endl<<"koniec ";
return 0;
}
Zadanie 4.3
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream dane("liczby.txt");
ofstream zapis("wynik4_3.txt");
int l_pierwsze[3000], liczby[20], x;
for (int i=0; i<3000; i++)
dane>>l_pierwsze[i];
for (int i=0; i<20; i++)
dane>>liczby[i];
for (int i=0; i<20; i++)
{
x=liczby[i];
for (int j=0; j<3000; j++)
if (x%l_pierwsze[j]==0)
{
x=x/l_pierwsze[j];
if (x==1)
{
zapis<<liczby[i]<<endl;
break;
}
}
}
dane.close();
zapis.close();
cout<<endl<<"koniec ";
return 0;
}Zadanie 4.4
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream dane("liczby.txt");
float srednia, n, n_max, srednia_max=0, suma;
int l_pierwsze[3000], pierwsza_max;
for (int i=0; i<3000; i++)
dane>>l_pierwsze[i];
for (int j=0; j<2950; j++)
{
suma=0;
n=50;
for (int k=j; k<j+50; k++)
suma=suma+l_pierwsze[k];
srednia=suma/n;
for (int i=j+50; i<3000; i++)
{
suma=suma+l_pierwsze[i];
n++;
srednia=suma/n;
if (srednia>srednia_max)
{
srednia_max=srednia;
n_max=n;
pierwsza_max=j;
}
}
}
cout<<srednia_max<<" "<<n_max<<" "<<l_pierwsze[pierwsza_max];
dane.close();
return 0;
}2025
Zadanie 2. Zapis symboliczny
Zadanie 2.1
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
bool czypalindrom(string slowo)
{
int i=0, j=11;
while (i<=j)
{
if (slowo[i]!=slowo[j]) return false;
i++; j--;
}
return true;
}
int main()
{
ifstream dane("symbole.txt");
ofstream zapis("wyniki2_1.txt");
string slowo;
for (int i=1; i<=2000; i++)
{
dane>>slowo;
if (czypalindrom(slowo)) zapis<<slowo<<endl;
}
dane.close();
zapis.close();
cout<<endl<<"koniec ";
return 0;
}
Zadanie 2.2
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream dane("symbole.txt");
ofstream zapis("wyniki2_2.txt");
string slowo;
int licznik=0;
string tab[2000][12];
for (int i=0; i<2000; i++)
{
dane>>slowo;
for (int j=0; j<12; j++)
tab[i][j]=slowo[j];
}
for (int i=1; i<1999; i++)
{
for (int j=1; j<11; j++)
if (tab[i][j]==tab[i-1][j-1] && tab[i][j]==tab[i-1][j] && tab[i][j]==tab[i-1][j+1] &&
tab[i][j]==tab[i][j-1] && tab[i][j]==tab[i][j+1] && tab[i][j]==tab[i+1][j-1] &&
tab[i][j]==tab[i+1][j] && tab[i][j]==tab[i+1][j+1])
{
zapis<<i+1<<" "<<j+1<<endl;
licznik++;
}
}
zapis<<"Liczba kwadratow: "<<licznik;
dane.close();
zapis.close();
cout<<endl<<"koniec ";
return 0;
}
Zadanie 2.3
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int znak_na_cyfre(char x)
{
if (x=='o') return 0;
if (x=='+') return 1;
if (x=='*') return 2;
}
int main()
{
ifstream dane("symbole.txt");
ofstream zapis("wyniki2_3.txt");
string slowo, slowo_max;
int dz, potega, max_dz=0;
for (int i=1; i<=2000; i++)
{
dz=0; potega=1;
dane>>slowo;
for (int j=11; j>=0; j--)
{
dz=dz+potega*znak_na_cyfre(slowo[j]);
potega=potega*3;
}
if (dz>max_dz)
{
max_dz=dz;
slowo_max=slowo;
}
}
zapis<<max_dz<<" "<<slowo_max;
dane.close();
zapis.close();
cout<<endl<<"koniec ";
return 0;
}
Zadanie 2.4
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int znak_na_cyfre(char x)
{
if (x=='o') return 0;
if (x=='+') return 1;
if (x=='*') return 2;
}
char cyfra_na_znak(int reszta)
{
if (reszta==0) return 'o';
if (reszta==1) return '+';
if (reszta==2) return '*';
}
int main()
{
ifstream dane("symbole.txt");
ofstream zapis("wyniki2_4.txt");
string slowo, suma_tr="";
int dz, potega, suma_dz=0, suma_kopia;
for (int i=1; i<=2000; i++)
{
dz=0; potega=1;
dane>>slowo;
for (int j=11; j>=0; j--)
{
dz=dz+potega*znak_na_cyfre(slowo[j]);
potega=potega*3;
}
suma_dz=suma_dz+dz;
}
suma_kopia=suma_dz;
while (suma_kopia>0)
{
suma_tr=cyfra_na_znak(suma_kopia%3)+suma_tr;
suma_kopia=suma_kopia/3;
}
zapis<<suma_dz<<" "<<suma_tr;
dane.close();
zapis.close();
cout<<endl<<"koniec ";
return 0;
}
Zadanie 3. Dron
Zadanie 3.1
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int NWD(int a, int b)
{
int r;
while (b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
ifstream dane("dron.txt");
int x, y, licznik=0, nwd;
for (int i=1; i<=100; i++)
{
dane>>x>>y;
nwd=NWD(x,abs(y));
if (nwd > 1) licznik++;
}
dane.close();
cout<<licznik;
return 0;
}
Zadanie 3.2 a)
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream dane("dron.txt");
int x, y, px=0, py=0, licznik=0;
for (int i=1; i<=100; i++)
{
dane>>x>>y;
px+=x;
py+=y;
if (px>0 && px<5000 && py>0 && py<5000) licznik++;
}
dane.close();
cout<<licznik;
return 0;
}
Zadanie 3.2 b)
#include<iostream>
#include<fstream>
using namespace std;
struct punkt{
int px;
int py;
};
int main()
{
ifstream dane("dron.txt");
int x, y, sr_x, sr_y;
punkt tab[100];
dane>>tab[0].px>>tab[0].py;
for (int i=1; i<100; i++)
{
dane>>x>>y;
tab[i].px=tab[i-1].px+x;
tab[i].py=tab[i-1].py+y;
}
for (int i=0; i<99; i++)
for (int j=i+1; j<100; j++)
{
if ((tab[i].px+tab[j].px)%2==0 && (tab[i].py+tab[j].py)%2==0)
{
sr_x=(tab[i].px+tab[j].px)/2;
sr_y=(tab[i].py+tab[j].py)/2;
for (int k=0; k<100; k++)
if (tab[k].px==sr_x && tab[k].py==sr_y)
{
cout<<"("<<tab[i].px<<","<<tab[i].py<<") ";
cout<<"("<<tab[k].px<<","<<tab[k].py<<") ";
cout<<"("<<tab[j].px<<","<<tab[j].py<<")";
}
}
}
dane.close();
return 0;
}2026
Zadanie 3. Pary słów
Zadanie 3.1
#include<iostream>
#include<fstream>
#include<cmath>
#include<string>
using namespace std;
int f(string slowo)
{
int suma=0;
for (int i=0; i<slowo.size(); i++)
suma=suma+slowo[i];
return suma;
}
int main()
{
string s1, s2, s1max, s2max;
int roz, rozmax;
ifstream odczyt("pary.txt");
odczyt>>s1max>>s2max;
rozmax=abs(f(s1max)-f(s2max));
for (int i=2; i<=500; i++)
{
odczyt>>s1>>s2;
roz=abs(f(s1)-f(s2));
if (roz>rozmax)
{
s1max=s1; s2max=s2; rozmax=roz;
}
}
cout<<s1max<<" "<<s2max<<" "<<rozmax;
odczyt.close();
return 0;
}
Zadanie 3.2
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
void f(string slowo, int tab[])
{
tab[26]={0};
for (int i=0; i<slowo.size(); i++)
tab[slowo[i]-'a']++;
}
int main()
{
string s1, s2, s1max, s2max;
int sum=0, summax;
int tab1[26]={0}, tab2[26]={0};
ifstream odczyt("pary.txt");
odczyt>>s1max>>s2max;
f(s1max,tab1);
f(s2max,tab2);
for (int j=0; j<26; j++)
sum=sum+min(tab1[j],tab2[j]);
summax=sum;
for (int i=2; i<=500; i++)
{
sum=0;
for (int j=0; j<26; j++)
{
tab1[j]=0; tab2[j]=0;
}
odczyt>>s1>>s2;
f(s1,tab1);
f(s2,tab2);
for (int j=0; j<26; j++)
sum=sum+min(tab1[j],tab2[j]);
if (sum>summax)
{
summax=sum; s1max=s1; s2max=s2;
}
}
cout<<s1max<<" "<<s2max<<" "<<summax;
odczyt.close();
return 0;
}
Zadanie 3.3
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int f(string s1, string s2)
{
int dl1=s1.size();
int dl2=s2.size();
if (dl2>dl1) s2=s2.erase(0,dl2-dl1);
while (s1.substr(0,s2.size())!=s2 && s2.size()>0)
{
s2=s2.erase(0,1);
}
return s2.size();
}
int main()
{
string s1, s2;
int dl1, dl2, dl;
ifstream odczyt("pary.txt");
ofstream zapis("wyniki3_3.txt");
for (int i=2; i<=500; i++)
{
odczyt>>s1>>s2;
dl1=f(s1,s2);
dl2=f(s2,s1);
dl=max(dl1,dl2);
if (dl>=5)
zapis<<s1<<" "<<s2<<" "<<dl<<endl;
}
odczyt.close();
zapis.close();
return 0;
}
Zadanie 4. Korporacja
Zadanie 4.2
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int przelorzeni[50001]={0};
int licznik=0, p;
ifstream odczyt("korpo.txt");
for (int i=1; i<=50000; i++)
{
odczyt>>p;
przelorzeni[p]++;
}
for (int i=1; i<=50000; i++)
{
if (przelorzeni[i]>0) licznik++;
}
cout<<50000-licznik;
odczyt.close();
return 0;
}Zadanie 4.3
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int przelorzeni[50001]={0};
int pmax=1, podw=0, p;
ifstream odczyt("korpo.txt");
for (int i=1; i<=50000; i++)
{
odczyt>>p;
przelorzeni[p]++;
}
for (int i=1; i<=50000; i++)
{
if (przelorzeni[i]>podw)
{
podw=przelorzeni[i];
pmax=i;
}
}
cout<<pmax<<" "<<podw;
odczyt.close();
return 0;
}Zadanie 4.4
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int bezp_prz[50001]={0}, wszyscy_prz[50001]={0};
int max_przel=1, ilu_pra=0, n;
ifstream odczyt("korpo.txt");
for (int i=1; i<=50000; i++)
{
odczyt>>bezp_prz[i];
}
for (int i=1; i<=50000; i++)
{
n=i;
while (n>1)
{
wszyscy_prz[i]++;
n=bezp_prz[n];
}
}
for (int i=1; i<=50000; i++)
if (wszyscy_prz[i]>max_przel) max_przel=wszyscy_prz[i];
for (int i=1; i<=50000; i++)
if (wszyscy_prz[i]==max_przel) ilu_pra++;
cout<<"Najwieksza liczba przelorzonych: "<<max_przel<<endl;
cout<<"Pracownikow o najwiekszej liczbie przelorzonych: "<<ilu_pra;
odczyt.close();
return 0;
}