DOAR FUNCTIA Să se scrie o funcţie numită strToNumber care primeşte un şir de caractere s şi returnează un număr egal cu pătratul numărului
reprezentat de şirul de caractere.
• Funcţia trebuie să se numească strToNumber.
• Funcţia trebuie să primească şir de caractere care poate avea maxim 8 caractere.
Funcţia va returna un număr întreg egal cu pătratul numărului reprezentat de şir.
.
Restricţii
**s va reprezenta un număr natural valid
**s va conţine maxim 8 cifre
Exemplu
char nr[] = "11";
cout << strToNumber(nr);//va afişa 121
GreenEyes71:
Nu ai scris în ce limbaj de programare trebuie rezolvată cerința. De ce ?
Răspunsuri la întrebare
Răspuns de
3
► Functie :
int strToNumber(char* s) {
char* end = s + strlen(s)-1;
long n = strtol(s, &end, 10);
return n * n;
}
► Program test :
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int strToNumber(char* s) {
char* end = s + strlen(s)-1;
long n = strtol(s, &end, 10);
return n * n;
}
int main() {
char a[] = "10";
char b[] = "15";
char c[] = "-736";
cout << strToNumber(a) << endl;
cout << strToNumber(b) << endl;
cout << strToNumber(c) << endl;
}
► Explicatie :
Pentru a face viata mai usoara vom folosi functia strtol predefinita pentru a extrage numarul reprezentat in sirul de caractere. Functia se afla in biblioteca <cstdlib> si se foloseste astfel :
- Primul parametru reprezinta pointer catre caracterul care contine prima cifra din numar.
- Al doilea parametru reprezinta pointer catre caracterul cu ultima cifra.
- Al treilea parametru reprezinta baza.
- Functia returneaza un long care reprezinta numarul dat in sirul de caractere.
Anexe:
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă