Intrebare BAC Informatica #4 [Rezolvare]

Discutii despre tot ce nu se incadreaza in celelalte categorii.

Moderators: Moderatori ajutatori, Moderatori

Post Reply
User avatar
fan_haulin
Fost moderator
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:

18 Mar 2015, 14:58

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)"

Image
Last edited by fan_haulin on 18 Mar 2015, 17:13, edited 1 time in total.
RoyalServer
User avatar
Carnacior
Membrul anului 2016
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:

18 Mar 2015, 15:23

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


http://www.facebook.com/xyz.aron
Follow me for random bullshit and possibly interesting updates
Skype @ xyz_aron


Image
User avatar
fan_haulin
Fost moderator
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:

18 Mar 2015, 15:54

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.
User avatar
Carnacior
Membrul anului 2016
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:

18 Mar 2015, 16:11

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

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


http://www.facebook.com/xyz.aron
Follow me for random bullshit and possibly interesting updates
Skype @ xyz_aron


Image
User avatar
fan_haulin
Fost moderator
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:

18 Mar 2015, 17:13

Multumesc frumos ! Se poate inchide !
User avatar
MCosti
Fost moderator
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:

18 Mar 2015, 18:00

La nivel de BAC, asa se face:

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;
}


(Nu o sa mearga in codeblocks functia de strrev)
User avatar
IsTI37
Fost administrator
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

18 Mar 2015, 20:08

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);
User avatar
fan_haulin
Fost moderator
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:

25 Mar 2015, 21:50

Revin cu o alta intrebare:

Image

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 


User avatar
MCosti
Fost moderator
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:

25 Mar 2015, 22:06

Codul este ineficient in cazul ambelor probleme, dar functioneaza, iar la bac nu iti cere eficienta la matrice.

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;}

A doua problema:

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;}
Problema asta e putin cam problematica, ca se poate intampla sa ai minimul sau maximul in mai multe locuri.
Post Reply

Return to “Discutii generale”

  • Information