Am problema de mai jos. Stiu comanda sa inversezi un cuvant , dar nu stiu cum sa o folosesc sa inversez numai un cuvant...
On: Comanda este "strrev(sir)"
Intrebare BAC Informatica #4 [Rezolvare]
Moderators: Moderatori ajutatori, Moderatori
- fan_haulin
- Fost moderator
- Posts: 2592
- Joined: 08 Jun 2010, 20:35
- Detinator Steam: Da
- Reputatie: Fost Moderator
- Has thanked: 271 times
- Been thanked: 106 times
- Contact:
- Carnacior
- Membrul anului 2016
- Posts: 1762
- Joined: 23 Jun 2013, 14:08
- Detinator Steam: Da
- CS Status: I eat more pussy than cervical cancer
- Detinator server CS: jb.b-zone.ro
- SteamID: -
- Reputatie: Fost Scripter eXtreamCS
Membrul anului 2016
Membru Club eXtreamCS (1 iul ) - Location: Targu Mures
- Has thanked: 5 times
- Been thanked: 13 times
- Contact:
functiile predefinite sunt pentru fraieri
Code: Select all
#include <iostream>
using namespace std;
int main()
{
char c[]="Prostia omoara";
//scoatem primul cuvant
int x=0;
char temp[44];
for(int i=0;i<2147483647;i++)
{
if(c[i]==0 || c[i]==' ')
{
temp[i+1]=0;
break;
}
temp[i]=c[i];
x++;
}
//intoarcem cuvantul
char pmet[x+1];
for(int i=x;i>=0;i--)
{
pmet[x-i] = temp[i-1];
}
pmet[x]=0;
cout<<pmet;
}
Ai nevoie de o protectie pentru server? R4GE Server Guard
Cel mai avansat si folosit plugin de protectie romanesc public! Nu ma crezi? VERIFICA
Cel mai avansat si folosit plugin de protectie romanesc public! Nu ma crezi? VERIFICA
http://www.facebook.com/xyz.aron
Follow me for random bullshit and possibly interesting updates
Skype @ xyz_aron
Follow me for random bullshit and possibly interesting updates
Skype @ xyz_aron
- fan_haulin
- Fost moderator
- Posts: 2592
- Joined: 08 Jun 2010, 20:35
- Detinator Steam: Da
- Reputatie: Fost Moderator
- Has thanked: 271 times
- Been thanked: 106 times
- Contact:
Apreciez deranjul, insa nu intoarce decat primul cuvant. Dupa cum ai vazut in exemplul problemei, eu am nevoie sa imi intoarca anumite cuvinte. Problema este ca nu stiu cum separ fiecare cuvant, nu stiu daca exista vreun sinonim la "explode" din php si in C++ , dar nu l-am gasit pana acum.
- Carnacior
- Membrul anului 2016
- Posts: 1762
- Joined: 23 Jun 2013, 14:08
- Detinator Steam: Da
- CS Status: I eat more pussy than cervical cancer
- Detinator server CS: jb.b-zone.ro
- SteamID: -
- Reputatie: Fost Scripter eXtreamCS
Membrul anului 2016
Membru Club eXtreamCS (1 iul ) - Location: Targu Mures
- Has thanked: 5 times
- Been thanked: 13 times
- Contact:
poftim
vezi daca poti sa intelegi fara comentarii, daca nu, pun peste tot
stringul se parcurge litera dupa litera in loc de cuvant dupa cuvant
vezi daca poti sa intelegi fara comentarii, daca nu, pun peste tot
stringul se parcurge litera dupa litera in loc de cuvant dupa cuvant
Code: Select all
#include <iostream>
using namespace std;
int main()
{
char c[]="oamenii omoara foarte multi oameni";
char v[]="aeiou";
for(int i=0;i<255;i++)
{
if(i==0 || c[i-1]==' ')
{
bool contine=false;
for(int j=0;j<5;j++)
{
if(c[i]==v[j])
contine=true;
}
if(contine) //litera e vocala, ****-o
{
int x=i,counter=0;
while(c[x]!=' ' && c[x]!=0)
{
counter++;
x++;
}
for(int k=counter+i-1;k>=i;k--)
{
cout<<c[k];
}
cout<<" ";
i += counter;
}
else
{
cout<<c[i];
}
}
else
{
cout<<c[i];
}
if(c[i]==0)
break;
}
}
Ai nevoie de o protectie pentru server? R4GE Server Guard
Cel mai avansat si folosit plugin de protectie romanesc public! Nu ma crezi? VERIFICA
Cel mai avansat si folosit plugin de protectie romanesc public! Nu ma crezi? VERIFICA
http://www.facebook.com/xyz.aron
Follow me for random bullshit and possibly interesting updates
Skype @ xyz_aron
Follow me for random bullshit and possibly interesting updates
Skype @ xyz_aron
- fan_haulin
- Fost moderator
- Posts: 2592
- Joined: 08 Jun 2010, 20:35
- Detinator Steam: Da
- Reputatie: Fost Moderator
- Has thanked: 271 times
- Been thanked: 106 times
- Contact:
- MCosti
- Fost moderator
- Posts: 2251
- Joined: 28 Sep 2008, 06:58
- Detinator Steam: Da
- Reputatie: Membru Club eXtreamCS (2 luni)
Fost moderator
Nume anterior: DjMax - Has thanked: 139 times
- Been thanked: 60 times
- Contact:
La nivel de BAC, asa se face:
(Nu o sa mearga in codeblocks functia de strrev)
Code: Select all
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s[100], sep[]=" ,.!?;", *cuv;
cin.getline(s,100);
cuv=strtok(s,sep);
while(cuv)
{strrev(cuv);
cout<<cuv;
cuv=strtok(NULL,sep);
}
return 0;
}
- IsTI37
- Fost administrator
- Posts: 10987
- Joined: 10 Apr 2007, 15:02
- Detinator Steam: Da
- Reputatie: Fost administrator
Fost SysAdmin
Fost Fondator GTA5 (CVL) - Location: Cluj-Napoca
- Has thanked: 28 times
- Been thanked: 776 times
Dupa cum a zis Dj se foloseste strtok in 90% din cazuri, iti separa cuvintele iar dupa faci ce vrei cu ele. In pascal se foloseste functia poz si nu ai strrev.
Ideal e sa faci o functie inversare(cuvant);
Ideal e sa faci o functie inversare(cuvant);
- fan_haulin
- Fost moderator
- Posts: 2592
- Joined: 08 Jun 2010, 20:35
- Detinator Steam: Da
- Reputatie: Fost Moderator
- Has thanked: 271 times
- Been thanked: 106 times
- Contact:
Revin cu o alta intrebare:
EDIT: Mai am o problema , insa nu o gasesc, dar o voi explica.
EDIT: Mai am o problema , insa nu o gasesc, dar o voi explica.
Code: Select all
Se da o matrice de n*n , sa se gaseasca elementul cel mai mic si elementul cel mai mare si sa se interschimbe intre ele.
1 25 11
5 23 55
34 5 84
sa devina
84 25 11
5 23 55
34 5 1
- MCosti
- Fost moderator
- Posts: 2251
- Joined: 28 Sep 2008, 06:58
- Detinator Steam: Da
- Reputatie: Membru Club eXtreamCS (2 luni)
Fost moderator
Nume anterior: DjMax - Has thanked: 139 times
- Been thanked: 60 times
- Contact:
Codul este ineficient in cazul ambelor probleme, dar functioneaza, iar la bac nu iti cere eficienta la matrice.
Prima problema:
A doua problema:
Problema asta e putin cam problematica, ca se poate intampla sa ai minimul sau maximul in mai multe locuri.
Prima problema:
Code: Select all
#include <iostream>
using namespace std;
int a[100][100], i,j,n,k=1;
int main()
{cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
a[i][j]=k++;
if(k==10) k=1;}
for(j=1;j<=n;j++) // fii atent la indici, urmareste tabloul pentru a vedea de unde sa incepi parcurgerea ca sa nu repeti termenii.
cout<<a[1][j]<<' ';
for(i=2;i<=n;i++)
cout<<a[i][n]<<' ';
for(j=n-1;j>=1;j--)
cout<<a[n][j]<<' ';
for(i=n-1;i>=2;i--)
cout<<a[i][1]<<' ';
return 0;}
Code: Select all
#include <iostream>
int a[100][100], i,j,n, max, min,i1,j1,i2,j2 ;
int main()
{for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>n;
max=a[1][1]; min=a[1][1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][j]>max)
max=a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][j]<min)
min=a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][j]==max)
{i1=i; j1=j;}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
(if a[i][j]==min)
{i2=i; j2=j;}
swap(a[i1][j1],a[i2][j2]);
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
cout<<a[i][j];
cout<<endl;}