Buna!
Ma poate ajuta cineva cu problema asta?
#2304 Cuvinte7
Scrieţi un program care citeşte de la tastatură, în această ordine, un număr natural n, apoi n cuvinte, separate prin Enter, urmate de un număr natural k. Numerele citite sunt din intervalul [1,20], iar fiecare cuvânt este format din cel mult 20 de caractere, numai litere mici ale alfabetului englez. Cel puţin unul dintre cuvinte are k litere.
Programul construiește în memorie, apoi afișează pe ecran, un șir care să cuprindă cuvintele citite, separate prin câte un spațiu, astfel încât toate cele care au k litere să ocupe primele poziţii, iar celelalte să se regăsească în continuarea acestora, într-o ordine oarecare.
Exemplu
Intrare
5
am
un
cires
de
mai
2
Ieșire
am un de cires mai
Multumesc!
Răspunsuri la întrebare
Răspuns de
5
Răspuns:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char s[21][21];
unsigned int n,k;
cin>>n;
cin.get();
for(unsigned int i=1;i<=n;i++)
{
cin.get(s[i],21);
cin.get();
}
cin>>k;
for(unsigned int i=1;i<=n;i++)
{
if(strlen(s[i])==k)
cout<<s[i]<<" ";
}
for(unsigned int i=1;i<=n;i++)
{
if(strlen(s[i])!=k)
cout<<s[i]<<" ";
}
}
Explicație:
sikesjack1:
De ce ai folosit matrice in loc de vector?
Alte întrebări interesante
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă