Jump to content
Sign in to follow this  
buchaL

Rozwiązanie zadań maturalnych z informatyki rozszerzonej.

Recommended Posts

Dziś miałem próbną maturę z informatyki rozszerzonej i niestety nie poszło tak jak planowałem i chciałbym prosić Was o pomoc w rozwiązaniu tych zadań.

 

image

image

image

image

image

Share this post


Link to post
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;

int main() {
int a,b,r,ile=0,min=100,tab[100][4],sr,max,poz,dl,tab2[100][6];

ifstream odczyt("dane.txt");
//ZADANIE 4.1
ofstream zapis("wynik1.txt");
if(!odczyt)
	{cout<<"Blad otwarcia pliku";
	return 1;
	}
while(!odczyt.eof())
	{odczyt>>a>>b>>r;
	if(r<min) min=r;
	}
odczyt.close();
odczyt.open("dane.txt");
while(!odczyt.eof())
	{odczyt>>a>>b>>r;
	if(min==r)
		{zapis<<a<<" "<<b<<" "<<r<<endl;
		ile++;	
		}
	}
odczyt.close();
zapis<<ile;
zapis.close();
//ZADANIE 4.2
for(int i=0;i<100;i++) tab[i][3]=0;
odczyt.open("dane.txt");
zapis.open("wynik2.txt");
ile=0;
while(!odczyt.eof())
{odczyt>>tab[ile][0]>>tab[ile][1]>>tab[ile][2];
ile++;
}
odczyt.close();
for(int i=0;i<100;i++)
	{sr=0;
	for(int j=0;j<100;j++)
		if(i!=j)
			if(pow(tab[j][0]-tab[i][0],2)+pow(tab[j][1]-tab[i][1],2)<=pow(tab[i][2],2)) 
				sr++;
	tab[i][3]=sr;
	}
max=tab[0][3];
poz=0;
for(int i=1;i<100;i++)
	if(max<tab[i][3]) {
		max=tab[i][3];
		poz=i;
	}
zapis<<tab[poz][0]<<" "<<tab[poz][1]<<" "<<tab[poz][2]<<endl;
zapis<<tab[poz][3];
zapis.close();
//ZADANIE 4.3
zapis.open("wynik3.txt");
ile=0;
for(int i=0;i<100;i++)
	for(int j=0;j<100;j++)
		if(i!=j)
		{dl=pow(tab[i][0]-tab[j][0],2)+pow(tab[i][1]-tab[j][1],2);
		if(dl==pow(tab[i][2]+tab[j][2],2) || dl==pow(tab[i][2]-tab[j][2],2)) 
			{tab2[ile][0]=tab[i][0];
			tab2[ile][1]=tab[i][1];
			tab2[ile][2]=tab[i][2];
			tab2[ile][3]=tab[j][0];
			tab2[ile][4]=tab[j][1];
			tab2[ile][5]=tab[j][2];
			ile++;
			}
		}
zapis<<ile<<endl;
for(int i=0; i<ile; i++) 
zapis<<tab2[i][0]<<" "<<tab2[i][1]<<" "<<tab2[i][2]<<" "<<tab2[i][3]<<" "<<tab2[i][4]<<" "<<tab2[i][5]<<endl;
zapis.close();
	return 0;
}

 

  • Like 3

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Create a New Account. It’s free and easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×
×
  • Create New...