silverfoxas

C++ su masyvo nariu salinimu ir naujo masyvo formavimu

Recommended Posts

Sveiki, i┼íkilo problema spren┼żiant u┼żdavin─», kuriame reikia ┼íalinti masyvo narius ir suformuoti nauj─ů masyvo sara┼í─ů.┬á

uzdavinys.jpg.41b36bf717a1b46e48af0bc669e15d64.jpg

sunkiausia yra parasyt ta formavimo funkcija, nors vistiek atsakymai gaunasi blogai kad ir kaip beparasyciau

Mano sprendimas

#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;
const char SF [] = "Duomenys.txt";
const char RF [] = "Rezultatai.txt";

void skaitymas (const char SF[], int &n, int A[], int B[]);
void salinti (int A[], int B[],int &n);

void salinti2 (int A[], int B[],int &n);
void formavimas (int &n, int A[],int B[],int &k);
void atsakymai (const char RF[], int A[], int n);

int main()
{
    int n; /// zibintu skaicius;
    int A[100], B[100]; /// zibintu numeriu masyvai ir zibintu busenu masyvai
    int k;

    ofstream rf(RF);
    skaitymas (SF,n,A,B);
    salinti (A,B,n);
    atsakymai (RF,A,n);
    salinti2 (A,B,n);
    formavimas (n,A,B,k);
    atsakymai(RF,A,n);


    return 0;
}

void skaitymas (const char SF[], int &n, int A[], int B[])
{
    ifstream sf (SF);

    sf >> n;

    for (int i=0; i<n; i++)

    sf >> A >> B;

    sf.close();
}

void salinti(int A[], int B[],int &n)
{

    for (int i=0; i<n; i++) {
    if (B   == 0)
    {
        for (int k=i; k<n; k++)
            B[k]=B[k+1];
            A[k]=A[k+1];
        n--;i--;
    }
} }

void salinti2 (int A[], int B[],int &n)
{

    for (int i=0; i<n; i++) {
    if (B   == 1)
    {
        for (int k=i; k<n; k++)
            B[k]=B[k+1];
            A[k]=A[k+1];
        n--;i--;
    }
} }

 

void atsakymai (const char RF[], int A[], int n)

{
    ofstream rf (RF, ios::app);
    for (int i=0; i<n; i++)
    rf << A << " ";
    rf << endl;

}

Buciau dekingas jei patartumet kaip issprest

Redaguota , nario silverfoxas
Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»
#include <iostream>

using namespace std;

void Input(int& n, int numbers[], int conditions[]);
void Delete(int n, int m, int index, int numbers[], int not_working[], int conditions[]);
void Format_array(int x, int index, int not_working[]);
void Print(int n, int array[]);
void Print();

int main()
{
    int n;
    int numbers[100]; // Zibintu numeriai
    int conditions[100]; // Zibintu busena (1/0)
    int not_working[100]; // Neveikianciu zibintu numeriai
    int m = 0; // Neveikianciu zibintu kiekis
    Input(n, numbers, conditions);
    if (n != 0)
    {
        for (int i = 0; i < n; i++)
        {
            if (conditions[i] == 0)
            {
                Delete(n, m, i, numbers, not_working, conditions);
                i--;
                m++;
                n--;
            }
        }
        Print(n, numbers);
        Print(m, not_working);
    }
    else
    {
        Print();
    }

    return 0;
}

// Pradiniu duomenu ivedimo funkcija
void Input(int& n, int numbers[], int conditions[])
{
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> numbers[i] >> conditions[i];
    }
}
// Masyvo elemeto salinimo funkcija
void Delete(int n, int m, int index, int numbers[], int not_working[], int conditions[])
{
    Format_array(numbers[index], m, not_working);
    for (int i = index; i < n - 1; i++)
    {
        numbers[i] = numbers[i + 1];
        conditions[i] = conditions[i + 1];
    }
}
// Naujo saraso formatavimo funkcija
void Format_array(int x, int index, int not_working[])
{
    not_working[index] = x;
}
// Rezultatu isvedimo funkcija
void Print(int n, int array[])
{
    for (int i = 0; i < n; i++)
        cout << array[i] << " ";
    cout << endl;
}
void Print()
{
    cout << "NERA" << endl;
}

 

Nuoroda iki šio pranešimo
Dalintis per kit─ů puslap─»

Prisijungti prie diskusijos

Palikti atsakym─ů galite i┼í karto, o u┼żsiregistruoti v─Śliau. Jeigu jau turite paskyr─ů m┼źs┼│ forume, Prisijunkite.

Sve─Źias
Atsakyti šioje temoje...

×   ─«klijuotas tekstas turi teksto formatavim─ů.   Pa┼íalinti teksto formatavim─ů

  Galimi tik 75 veidukai.

×   Nuoroda buvo automati┼íkai ─»terpta.   ─«terpti nuorod─ů paprastai

×   J┼źs┼│ ankstesnis prane┼íimas buvo atkurtas.   I┼ívalyti redaktori┼│

×   J┼źs negalite ─»kelti nuotraukas tiesiogiai.─«kelkite arba ─»d─Śkite nuotraukas i┼í URL.


  • Temos, kurios buvo pa┼żym─Śtos tomis pa─Źiomis ┼żym─Śmis:

    • Para┼í─Ś Programmer234
      Reikia pagalbos su olimpiadiniu u┼żdaviniu. Para┼íiau dal─» kodo, bet nesugalvoju pagrindinio algoritmo.┬á Mane ┼íiek tiek painioja s─ůlygos sakinys "Jei kuriam nors ┼żaid─Śjui yra pasirinkimas, tai visi ┼żaid─Śjai vertina situacij─ů atsi┼żvelgdami ─» ┼íio ┼żaid─Śjo galim─ů ─Śjim─ů.".┬á
      S─ůlyga (2 u┼żdavinys, ┼żaidimas):
      https://forumas.ktu.lt/index.php/uzduociu-archyvas/2019-metu-konkursu-uzduotys/132-2019-programavimas-forumas/file
      Kodas:
      #include <iostream> #include <fstream> #include <vector> #include <string> class Cordinates { public: int x; int y; }; void Read(int& n, int& m, std::vector<Cordinates>& player, std::vector<Cordinates>& chair); void Distance(const std::vector<Cordinates>& player, const std::vector<Cordinates>& chair, std::vector<std::vector<unsigned int>>& distances); int main() { int n, m; std::vector<Cordinates> player; std::vector<Cordinates> chair; std::vector<std::vector<unsigned int>> distances; Read(n, m, player, chair); Distance(player, chair, distances); return 0; } void Read(int &n, int &m, std::vector<Cordinates>& player, std::vector<Cordinates>& chair) { std::ifstream fin("U2.txt"); fin >> n >> m; std::string line; for (int y = 0; y < n; y++) { fin >> std::ws; std::getline(fin, line); for (int x = 0; x < m; x++) { if (line[x] == 'X') player.push_back({ x, y }); else if (line[x] == 'L') chair.push_back({ x, y }); } } fin.close(); } void Distance(const std::vector<Cordinates>& player, const std::vector<Cordinates>& chair, std::vector<std::vector<unsigned int>>& distances) { for (int i = 0; i < chair.size(); i++) { std::vector<unsigned int> temp; for (int j = 0; j < player.size(); j++) { temp.push_back(abs(player[j].x - chair[i].x) + abs(player[j].y - chair[i].y)); } distances.push_back(temp); } }  
    • Para┼í─Ś #Dziastin#
      Sveiki,
      nor─Ś─Źiau paklausti i┼í kur geriausiai prad─Śti dom─Śtis C++ programavimo kalba?
      Patikslintas pra┼íymas: galb┼źt gal─Śtum─Śte pasakyti "tutorial" puslapi┼│, grupi┼│ ir pn┼í? Kad b┼źt┼│ galima mokintis / dom─Śtis nuo 0.
      A─Źi┼ź
    • Para┼í─Ś Gasolinis
      Sveiki, galb┼źt atsiras norintis prisiminti 11 klas─Śs kurs─ů ir i┼íspr─Östi vien─ů u┼żdavin─», kuris asmeni┼íkai man yra ne─»veikiamas. Atlygio nesi┼źlau jokio, pikt┼│ komentar┼│ irgi nelaukiu. Tad gal ka┼żkam nesunku ir pagelb─Śtumete ir padaryt┼│ ka┼żkas pilnai nuo a iki z ┼íit─ů u┼żdavin─» ir pasidalint┼│ sprendimu, a─Źi┼ź.
      Tekstiniame faile duom.txt ─»ra┼íytas skai─Źius n ir n sveik┼│j┼│ skai─Źi┼│ por┼│,
      kurios rei┼íkia sta─Źiakampio matmenis a ir b.
      Sukurkite funkcij─ů sta─Źiakampio plotui S ir perimetrui p apskai─Źiuoti.
      Rezultatus i┼íveskite ─» fail─ů rez.txt
       
      Buvo ikeltas ir ┼íioks toks pavizdys, ta─Źiau kitos u┼żduoties. - https://imgur.com/a/9QyWiVS
       
       
    • Para┼í─Ś BloodLust
      Sveiki gal kas ras klaida suvedes lyg viska ir gerai bet atsakyma ne toki spausdina
      #include <iostream>
      #include <iomanip>
      using namespace std;
      int main()
      {
          int a,b;
          cin>>a>>b;
          for(int x=a; x>=b; x++){
              if(x<=3 && x%5  ==0 && x%10<=5) cout<<x<<endl;
          }
          return 0;
      }    
       

  • ┼áiame puslapyje nar┼ío:   0 nariai

    N─Śra registruot┼│ nari┼│ per┼żi┼źrin─Źi┼│ ┼í─» forum─ů.