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

VA ROG MULT!!
Problema ElimP #2803 pbinfo

Cerința
Se citește un număr p și un șir de caractere s, șirul conține cel mult 255 de litere mici ale alfabetului englez. Să se afișeze toate șirurile rezultate din eliminarea, pe rând, a fiecărei secvență de p caractere din s.

Date de intrare
Programul citește de la tastatură numărul p pe prima linie și șirul s pe cea de-a doua linie.

Date de ieșire
Programul va afișa pe ecran pe câte o linie, toate șirurile rezultate din eliminarea, pe rând, a fiecărei secvență de p caractere din s.

Restricții și precizări
1 ≤ p ≤ 255
eliminările se fac de la stânga la dreapta
Exemplu
Intrare

3
adina
Ieșire

na
aa
ad

Răspunsuri la întrebare

Răspuns de stefannistor10
1

#include <cstring>

#include <iostream>

using namespace std;

char s[300];

int i, length, n;

int main()

{

   cin >> n;

   cin.get();

   cin.getline(s, 300);

    length = strlen(s);

   for (int j = 0; j < length - n + 1; j++)

   {

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

       {

           if (i < j || i >= j + n)

               cout << s[i];

       }

       cout << '\n';

   }

   return 0;

}


infomatrix: Multumesc frumos!!!
Răspuns de pmarian98
0

Răspuns:

#include <bits/stdc++.h>

 

using namespace std;

 

char s[260],aux[260],t[260];

int p,n;

 

int main()

{

   cin >> p >> s;

 

   strcpy(aux,s);

   n = strlen(s);

 

   for(int i = 0; i <= n - p; i++){

       strcpy(t,s + i + p);

       strcpy(s + i,t);

 

       cout << s << '\n';

       strcpy(s,aux);

   }

 

   return 0;

}

Explicație:


pmarian98: cu functii
infomatrix: mersi!
Alte întrebări interesante