Rezolvare + Explicatie
Fişierul atestat.in conţine trei linii. Pe prima linie este scris un număr natural nenul n, (5<n<30).
Pe cea de-a doua linie a fişierului sunt scrise n numere naturale separate prin câte un spaţiu, formate fiecare din cel mult 4 cifre şi cel puţin 2 cifre, reprezentând un şir de n numere naturale. Cel puţin unul din cele n numere din şir este număr impar. Pe ultima linie este scris un un număr natural k, format din cel mult 4 cifre şi cel putin 2 cifre.
Să se scrie un program în limbajul Pascal/C/C++, care:
a) afişează pe ecran, în linie, separate printr-un spaţiu, numerele impare din şir;
b) pe scrie în fişierul, atestat.out, în linie, separate prin câte un spaţiu, cifrele de control ale elementelor şirului dat. Cifra de control a unui număr natural se obţine prin însumarea cifrelor din scrierea zecimală a numărului, apoi se însumează cifrele acestei sume şi tot aşa până se obţine o sumă formată dintr-o singură cifră. Exemplu: pentru numărul 672 avem 6+7+2=15, 1+5=6, cifra de control este 6.
Răspunsuri la întrebare
Răspuns de
0
https://ghostbin.com/paste/rr3zu
Am facut-o, dar fara sa mai citesc acel k, pentru ca nu inteleg la ce foloseste. Ai si un exemplu la problema asta?
Am facut-o, dar fara sa mai citesc acel k, pentru ca nu inteleg la ce foloseste. Ai si un exemplu la problema asta?
CristianBarbu:
Se refera la ideea ca acel numar trebuie exprimat prin variabila k, un lucru simplu, probabil asta e.
Răspuns de
1
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin ("atestat.in");
ofstream fout ("atestat.out");
int cifraControl(int val) {
if (val == 0)
return 0;
else if (val % 9 == 0)
return 9;
else
return val % 9;
}
int main() {
int n;
fin >> n;
for(int i = 0; i < n; i++) {
int val;
fin >> val;
if(val % 2 == 1)
cout << val << ' ';
fout << cifraControl(val) << ' ';
}
return 0;
}
#include<fstream>
using namespace std;
ifstream fin ("atestat.in");
ofstream fout ("atestat.out");
int cifraControl(int val) {
if (val == 0)
return 0;
else if (val % 9 == 0)
return 9;
else
return val % 9;
}
int main() {
int n;
fin >> n;
for(int i = 0; i < n; i++) {
int val;
fin >> val;
if(val % 2 == 1)
cout << val << ' ';
fout << cifraControl(val) << ' ';
}
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Studii sociale,
9 ani în urmă