Mam 2 działające programy i chcę połączyć je w jeden ale nie wiem jak. Program albo wyświetla mi rysunek z sfml i nic w drugim oknie albo jakieś bzdury w pierwszym i nic nie rysuje oto działające kody:
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int liczR(char name[]){
ifstream p;
string tmp;
int i=0;
p.open(name);
while(p.good())
{
getline(p,tmp);
i++;
}
p.close();
return i;
}
int liczC(char name[]){
ifstream p;
char c;
int i=0,tmp;
p.open(name);
while(p.good())
{
p >> tmp;
p.get(c);
i++;
if(c=='\n')break;
}
p.close();
return i;
}
int** generuj(int R, int C){
int **tmp;
tmp = new int *[R];
for (int i = 0; i < R; i++)
tmp[i] = new int [C];
return tmp;
}
//czytaj
int** czytaj(char name[],int* R,int* C){
int** tmp;
ifstream p;
*R=liczR(name);
*C=liczC(name);
tmp=generuj(*R,*C);
p.open(name);
for(int i=0;i<*R;i++){
for(int j=0;j<*C;j++){
p>>tmp[i][j];
p.get();
}
}
p.close();
return tmp;
}
//oblicz
void oblicz(float* wsk,int**tab,int R,int C,int S){
for (int i=0;i<49;i++) wsk [i]=0;
for (int i=0;i<R;i++)
for(int j=S-1;j<C;j++)
wsk[tab[i][j]-1]++;
for(int i=0;i<49;i++)
wsk[i]/=R/100;
}
//extrema
void extrema(float* wsk,float* wmin,float* wmax){
float ymin=100;
float ymax=0;
float tmp;
for (int i=0;i<49;i++){
tmp=wsk[i];
if(tmp<ymin)ymin=tmp;
if(tmp>ymax)ymax=tmp;
}
*wmin=ymin;
*wmax=ymax;
}
//zapisz
int main(){
int **tab, R,C;
float *wsk, wynik[49],wmin,wmax;
char fileO[]={"lotto.csv"};
char fileZ[]={"wyniki.csv"};
wsk=wynik;
tab = czytaj(fileO,&R,&C);
for (int i=0;i<R;i++){
for (int j=0;j<C;j++){
cout <<tab[i][j]<<";";
}
cout << endl;
}
oblicz(wsk,tab,R,C,5);
for (int i=0;i<49;i++){
cout<<i+1<<"->"<<wynik[i]<<"%"<<endl;
}
extrema(wsk, &wmin, &wmax);
cout<<"minimum:"<<wmin<<"~"<<floor(wmin)<<endl;
cout<<"maksimum:"<<wmax<<"~"<<ceil(wmax)<<endl;
//TUTAJ JESZCZE WYŚWIETLANIE W KONSOLI :)
/*
if(zapisz(wsk,fileZ)==0)
cout << endl << "SAVE SUKCES" << endl;
else
cout << "SAVE ERROR" << endl;
*/
delete [] tab;
return 0;
}
Program zczytuje wartości z dokumentu e excelu i je analizuje
#include <SFML/Graphics.hpp>
#define xMAX 1200
#define yMAX 600
#define odleglosc 100
#define rozmiar_strzalki 30
int main()
{
// Create the main window
sf::RenderWindow window(sf::VideoMode(xMAX, yMAX), "SFML window");
sf::VertexArray linie(sf::Lines);
//for (int x=0; x<400; x+=100)
//ramka
linie.append(sf::Vector2f(odleglosc, odleglosc)); // pocz±tek
linie.append(sf::Vector2f(odleglosc, yMAX-odleglosc)); // koniec
linie.append(sf::Vector2f(odleglosc, yMAX-odleglosc)); // pocz±tek
linie.append(sf::Vector2f(xMAX-odleglosc, yMAX-odleglosc)); // koniec
linie.append(sf::Vector2f(xMAX-odleglosc, yMAX-odleglosc)); // pocz±tek
linie.append(sf::Vector2f(xMAX-odleglosc, odleglosc)); // koniec
linie.append(sf::Vector2f(xMAX-odleglosc, odleglosc)); // pocz±tek
linie.append(sf::Vector2f(odleglosc, odleglosc)); // koniec
//--------------------------------------------------------------------------------------
//os
linie.append(sf::Vector2f(xMAX/2, odleglosc)); // pocz±tek
linie.append(sf::Vector2f(xMAX/2, yMAX-odleglosc)); // koniec linia pionowa
linie.append(sf::Vector2f(odleglosc,yMAX/2)); // poczatek
linie.append(sf::Vector2f(xMAX-odleglosc, yMAX/2)); // koniec linia pozioma
//--------------------------------------------------------------------------------------
//strza³ki
sf::VertexArray strzalki(sf::Triangles);
strzalki.append(sf::Vector2f(xMAX/2, odleglosc)); // trojkat
strzalki.append(sf::Vector2f(xMAX/2+rozmiar_strzalki, odleglosc + rozmiar_strzalki)); // trojkat
strzalki.append(sf::Vector2f(xMAX/2-rozmiar_strzalki, odleglosc + rozmiar_strzalki)); // trojkat gorna strzalka
strzalki.append(sf::Vector2f(xMAX-odleglosc, yMAX/2)); // trojkat
strzalki.append(sf::Vector2f(xMAX-rozmiar_strzalki-odleglosc, yMAX/2+rozmiar_strzalki)); // trojkat
strzalki.append(sf::Vector2f(xMAX-rozmiar_strzalki-odleglosc, yMAX/2-rozmiar_strzalki)); // trojkat boczna sztralka
//--------------------------------------------------------------------------------------
// Start the game loop
while (window.isOpen())
{
// Process events
sf::Event event;
while (window.pollEvent(event))
{
// Close window : exit
if (event.type == sf::Event::Closed)
window.close();
}
// Clear screen
window.clear();
window.draw(linie);
window.draw(strzalki);
// Update the window
window.display();
}
return EXIT_SUCCESS;
}
Ten program rysuje mi układ kartezjański