Siruri de caractere

Acest forum este dedicat intrebarilor de programare care nu-si au locul in unul din celelalte forumuri

Siruri de caractere

Mesajde Skyp89 » 07 Mai 2016, 18:16

1. Care din următoarele expresii are valoarea 1 dacă şi numai dacă şirul de caractere s, de lungime 10, este obţinut prin concatenarea a două şiruri identice?
a. strcmp(s,s+5)==0
b. s==strstr(s,s+5)
c. s==s+5
d. strcmp(s,strcat(s,s+5))==0


1. Intrebarea mi se pare a fi formulata ciudat. Cred ca ar fi mai corect sa fie exprimata asa: Daca sirul de caractere s, de lungime 10 a fost obtinut prin concatenarea a doua siruri identice, care dintre urmatoarele expresii are valoarea 1(este adevarata)?
Este dubioasa exprimarea folosita de ei. Cred ca vor sa para mai deosebite intrebarile decat sunt cu adevarat si le fac interpretabile, deloc in regula pentru un examen. In felul in care intreaba ei te fac sa tinzi sa vezi daca nu cumva unele expresii pot avea valoarea 1 si in alte conditii decat cele spuse de ei (dacă şi numai dacă şirul de caractere s, de lungime 10, este obţinut prin concatenarea a două şiruri identice).
2. Sa inteleg ca cele patru variante de raspuns ar fi defapt argumentul unei functii IF ? (daca avem ==)

Daca va puteti da cu o parere la cele 2 puncte va multumesc si as vrea sa aflu varianta corecta dar si de ce este corecta si de ce sunt incorecte celelalte (ce returneaza celelalte variante)
Skyp89
Junior
Junior
 
Mesaje: 12
Membru din: 25 Ian 2016, 11:55
Judet: Suceava

Re: Siruri de caractere

Mesajde Skyp89 » 07 Mai 2016, 21:09

Am facut teste .. am compilat si executat fiecare varianta pe rand in un IF si sunt corecte doua variante: b si d (sirul de caractere introdus a fost s="abcdeabcde"). Gresesc ceva ? Cum e posibil sa fie doua variante corecte?
Varianta de la punctul b este corecta pentru ca gasim subsirul abcde de la adresa s+5 la adresa lui s (adresa lui s coincide cu adresa la care este gasit subsirul abcde de la adresa s+5 in s) iar varianta de la punctul d este corecta pentru ca se realizeaza concatenarea (s devide "abcdeabcdeabcde") si se compara cu s deja concatenat din cate observ atunci cand compilez liniile de cod ... ma asteptam sa compare sirul s concatenat ("abcdeabcdeabcde") cu cel original ("abcdeabcde").

As vrea sa stiu daca gresesc sau chiar sunt doua variante corecte.
Skyp89
Junior
Junior
 
Mesaje: 12
Membru din: 25 Ian 2016, 11:55
Judet: Suceava


Înapoi la Programare generala

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 3 vizitatori

cron