Witajcie,
Potrzebuje pomocy w napisaniu programu - program wczytuje z pliku losowania Multi Lotka, musi oddzielic wyyniki z kazdej linii od daty i nr losowania(problem nr 1) oraz wyliczyc kombinacje wszystkich 10-tek w ramach kazdego losowania, porownac ja z innymi zapisanymi 10-tkami z reszty losowan (problem nr 2) i na koniec wyswietlic statystyke dla powiedzmy dziesieciu 10-tek (ta liczba nie jest zadana, moze wynosic np 3 lub 5 lub byc definiowana przez usera)
Program ma dzialac, nie musi byc pisany czystym jezykiem C lub C++.
Format kazdej linii:
nr_losowania.<spacja>dzien.miesiac.rok<spacja>wynik_1,wynik_2, ... wynik_20
Problem 1:
Moj program "wie" juz kiedy we wczytanej linii zaczynaja sie wyniki - znajduje druga spacje.. i tu moj problem polega na skopiowaniu ze stringu "wers" do stringu "wyniki" samych wynikow, czyli znakow od drugiej spacji do konca stringu "wers"
Problem 2:
Wyliczenie wszystkich kombinacji - wiem w zasadzie z czego mam skorzystac ( wszystkie mozliwe kombinacje bez powtorzen 10 elementow w 20 elementowym zbiorze) i ten problem pozostaje na razie "nie ruszony" ze wzgledu na problem nr 1.
Porownianie kazdej 10 chcialbym zrobic w tablicy struktur - tz kazda 10 zapisujemy w tablicy wynikow (1 element struktury) i jesli juz wystepuje zwiekszamy licznik o 1 (drugi element struktury) lub dodajemy jako nowy element na koncu, pozniej sortowanie i wyswietlanie ;)
Potrzebuje pomocy - a nie napisania programu za mnie ;)
Kod ktory juz mam:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <vector>
#include <string.h>
#include <stdio.h>
using namespace std;
int main()
{
int wybor, liczba, licznik=0, linie, spacja=0, w, l, i;
char zakoncz='n';
ifstream in("ml.txt");
string wers;
string wyniki;
int licznik1=0;
cout<<"Witaj w programie\n\n"; //Linia przeznaczona na stopke programu do uzupelnienia pozniej
FILE*plik;
if ((plik=fopen("ml.txt", "r"))==NULL) {
printf ("Nie moge otworzyc pliku z danymi - sprawdz czy plik istnieje!\n");
};
do{
cout<<"\nWybierz opcje:\n\n";
cout<<"1. Start programu.\n";
cout<<"Twoj wybor to: ";cin>>wybor;
switch(wybor){
case 1:{
while(getline(in,wers)){
cout<<wers<<"\n\n";
spacja=0;
for(i=0;i<wers.length();i++){
if(wers[i]==' ')
spacja++;
cout<<spacja<<" "<<i<<" "<<wers[i]<<"\n"; //dla analizy programu linia wyswietla ilosc znalezionych spacji, licznik 'i' oraz znak w stringu pod licznikiem 'i'
if(spacja==2){
//kopiowanie reszty stringu 'wers' po napotkaniu drugiej spacji do stringu 'wyniki' - problem nr 1
cout<<" ";
};
};
cout<<wyniki<<"\n\n";
}
break;};
};
cout<<"\nZakonczyc program? T/N: ";
cin>>zakoncz;
}while(zakoncz!='t');
return EXIT_SUCCESS;
};