👤

Ajutor va rog cu acest exercitiu!
Fisierul valoare.in contine pe prima linie doua numere naturale nenule: n si c(5 Sa se scrie un program, in limbajul C++, care:
a) scrie pe ecran, in linie, separate printr-un spatiu, toate numerele de pe linia a doua a fisierului, care au ultima cifra(cifra unitatilor) egala cu c.
b) prin intermediul subprogramului rast care inverseaza(rastoarna) si returneaza un numar avand cel mult 8 cifre( ex:123 devine 4321), afiseaza rasturnatele tuturor numerelor impare de pe a doua linie a fisierului.
c) scrie in fisierul valoare.out, separate prin cate un spatiu toate numerele palidrom din sirul dat, care au exact 3 crifre. Un numar este palidom daca palidrom din sirul dat, care au exact 3 cifre. Un numar este palidrom daca de la stanga la dreapta sau de la stanga la dreapta are aceiasi valoare (ex. 187). Daca nu exista astfel de numere in sir, se va scrie in fisier mesajul "Nu exista numere palidrom".


Răspuns :

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("valoare.in");

ofstream g("valoare.out");

unsigned int v[1000], n, c, num, copie, i, exista;

unsigned int rast(unsigned int m)

{

   unsigned int r=0;

   while (m)

   {

       r=r*10+(m%10);

       m=m/10;

   }

   return r;

}

bool palindrom(unsigned num)

{

   if (num%10 == num/100) return 1;

   else return 0;

}

int main()

{

   f >> n >> c;

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

   {

       f >> v[i];

   }

   // conditia a)

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

       if (v[i]%10==c) {cout << v[i] << " "; exista=1;}

   if (!exista) cout << "nu exista cu ultima cifra " << c;

   cout << "\n";

   // conditia b)

   cout << "rasturnatele imparelor: \n";

    exista=0;

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

       if (v[i]%2==1)

           {cout << rast(v[i]) << " "; exista=1;}

   if (!exista) cout << "nu exista rasturnate...";

   cout << "\n";

   // conditia c)

   exista=0;

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

   {

       if (v[i]>100 && v[i]<1000)

       {

           if (palindrom(v[i]))

           {

               exista=1;

               g << v[i] << " ";

           }

       }

   }

   if (!exista) g << "Nu exista numere palidrom";

}


Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari