Informatică, întrebare adresată de LocalNacho, 8 ani în urmă

AM NEVOIE URGENT!!!!

Scrieti cate un program pentru fiecare din problemele:

1. Calculati suma cifrelor lui n! folosind cel putin o functie recursiva.
Exemplu
n = 4
=>
6, pentru ca suma cifrelor lui 4! = 24 este 4+2=6

Raspuns
...

2. Se da un cuvant care se termina cu enter. Verificati daca
cuvantul are prima si ultima litara vocale.
Exemple
eliana
=>
DA
---
mara
=>
NU

Raspuns
...

3. Se dau n puncte in plan prin coordonatele lor (abscisa ordonata).
Definiti structura punct cu doua componente: abscisa si ordonata,
apoi cititi datele pentru n puncte si afisati numarul de puncte
de pe prima bisectoare a unghiului xOy.
Observatie
Un punct este pe prima bisectoare daca are abscisa si ordonata egale!
Exemplu
4
101 0
10 10
0 12
100 100
=>
Ox: 1
Oy: 2

Raspuns
...

4. Se da o propozitie in care cuvintele sunt separata prin spatii.
Cate cuvinte care contin caractereul 'a' sunt in text?
Exemplu
ana nu are treaba
=>
3

Raspuns
...

5. In fisierul date.in se afla mai multe numere. Cate numere
cu ultimele doua cifre egale se gasesc in fisier.
Exemplu
date.in
123 1122 90
1000 41
88
=>
ecran
3

Raspuns
...

Răspunsuri la întrebare

Răspuns de Sergetec
1

Salut!

Ai rezolvarile la toate problemele in C++ mai jos

1.

#include <iostream>

using namespace std;

int fact(int n)

{

 if (n == 1)

 {

   return 1;

 }

 return n * fact(n-1);

}

int main()

{

 int n, factorial, s = 0;

 cin >> n;

 factorial = fact(n);

 while (factorial)

 {

   s += factorial % 10;

   factorial /= 10;

 }

 cout << s;

 return 0;

}

2.

#include <iostream>

#include <cstring>

using namespace std;

int main()

{

 char a[20];

 int l;

 bool ok = false;

 cin >> a;

 l = strlen(a);

 if (strchr("aeiouAEIOU", a[0]))

 {

   if (strchr("aeiouAEIOU", a[l]))

   {

     ok = true;

   }

 }

 if (ok)

 {

   cout << "DA";

 }

 else

 {

   cout << "NU";

 }

 return 0;

}

3.

#include <iostream>

using namespace std;

struct punct

{

 int abscisa;

 int ordonata;

};

int main()

{

 int n, cntx = 0, cnty = 0;

 punct a[10001];

 cin >> n;

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

 {

   cin >> a[i].abscisa >> a[i].ordonata;

   if (a[i].abscisa == 0)

   {

     cntx++;

   }

   if (a[i].abscisa == a[i].ordonata)

   {

     cnty++;

   }

 }

 cout << "Ox: " << cntx << '\n';

 cout << "Oy: " << cnty;

 return 0;

}

4.

#include <iostream>

#include <cstring>

using namespace std;

int main()

{

 char a[256], sep[] = " ", m[20][1001];

 cin.getline(a, 256);

 int ind = 0, cnt = 0;

 char *p = strtok(a, sep);

 while (p)

 {

   strcpy(m[++ind], p);

   p = strtok(NULL, sep);

 }

 for (int i = 1; i <= ind; ++i)

 {

   if (strchr(m[i], 'a'))

   {

     cnt++;

   }

 }

 cout << cnt;

 return 0;

}

5.

#include <iostream>

#include <fstream>

using namespace std;

ifstream in("date.in");

int main()

{

 int n, cnt = 0;

 while (in >> n)

 {

   if (n % 10 == n / 10 % 10)

   {

     cnt++;

   }

 }

 cout << cnt;

 in.close();

 return 0;

}


asd12esigr: poți să mă ajuți și pe mine te rog
Alte întrebări interesante