eMatematikas Prisijunk Forumas Matematikos testai Pradžia

2008 metų informatikos VBE transportas, atranka iš struktūros masyvų


Turiu klausima del 2008 metu informatikos VBE uzdavinio Tyrimas.
Duomenis talpinu i strukturu masyva, marsrutu numeriai dvimaciame masyve.
Gal patartumet kaip nasiau tuos duomenis isrusiuoti, pasiliekant ir informacija apie stoteles pavadinima kiekviena karta pripliusavus?

https://www.ematematikas.lt/upload/images/1622660844_6861.jpg

O tai gal koda savo ikeltum?

Randu, kad kartojasi 5, 4 ir 12 gretimuose masyvuose, bet kaip rast, kad skaiciai kartojasi trecia syki? Kurtis nauja masyva jiem saugoti?



#include <iostream>
#include <fstream>
#include <string.h>

using namespace std;

struct Stotele{
char pav[21];
int nr[100];
int k;
};

void skaityti(Stotele mas[], int &n);
void rusiuoti(Stotele mas[], int n);

int main(){
Stotele mas[100];
int n;
skaityti(mas, n);
rusiuoti(mas, n);
return 0;
}

void skaityti(Stotele mas[], int &n){
ifstream fin("U2.txt");
int k;
fin>>n;
for(int i=0;i<n;i++){
    fin.ignore();
    fin.get(mas[i].pav,21);
    fin>>k;
    for(int j=0;j<k;j++){
        fin>>mas[i].nr[j];
        mas[i].k=k;
    }
}
}

void rusiuoti(Stotele mas[], int n){
int kiekis=0;
for(int i=0;i<n;i++){
    for(int j=0;j<mas[i].k;j++){
        for(int m=0;m<mas[i+1].k;m++)
        if(mas[i].nr[j]==mas[i+1].nr[m])
        cout<<mas[i].nr[j]<<" ";
        kiekis++;
    }
}
cout<<kiekis;
}

As tai struct vietoj stotele daryciau marsrutas, ir jame tureciau int kiek, kuris zymetu kiek kartu jis pasikartojo ir string stoteles[1000], kuriame butu kuriose stotelese buna. Tada tereiketu praeiti viena karta pro duomenis, pasiziuret kiek kartu ir kur buvo ir tada pagal reikalavimus padaryti funkcija kurioje butu dar vienas for ir rastu ilgiausia marsruta na o tada dar su vienu for isspausdint visas stoteles.

Aciu!

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »