Informatică, întrebare adresată de mchater, 9 ani în urmă

1. Se citeste un n, apoi se citesc n cuvinte. Sa se determine cel mai lung prefix comun.

2. Se da o secventa de n numere, astfel incat, diferenta dintre 2 termeni consecutivi este constanta. Din aceasta secventa lipseste un termen. Determinati-l.


boiustef: termenul lipsă poate fi şi primul sau ultimul şi nu e clar care e lipsă. Rămâne să considerăm că e lipsă un termen interior. Dar dacă nu?

Răspunsuri la întrebare

Răspuns de boiustef
2

Răspuns:

#include <iostream>

#include <cstring>

using namespace std;

char cuv[20], prefix[20], estepref;

int n, i, p, k, j;

int main()

{

   cin >> n >> cuv;

   strcpy(prefix,cuv);

   p=strlen(prefix);

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

   {

       cin >> cuv; j=0;

       k=strlen(cuv);

       while (prefix[j]==cuv[j] && j<p && j<k)

       {

           estepref=1; ++j;

       }

       p=j;

   }

    if (estepref==0) { cout << "nu exista"; }

    else{

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

           cout << prefix[i];

    }

}

Explicație:

cred va urma îndată şi problema 2


boiustef: nu mai am acces să pun raspunsul, deaceea pun link la problema 2, Termen Lipsa
https://pastebin.com/11ExucDF
boiustef: la problema 2: Nu are rezolvare pentru n mai mic ca 4. Dacă diferenţele vecinilor sunt toate egale, am adăugat termenul lipsă la capătul din dreapta. Dacă e interior, am inserat în vector termenul lipsa
mchater: Multumesc!
Alte întrebări interesante