#171
Să se scrie un program care citește un șir de n numere naturale şi determină numărul din șir care are prima cifră minimă.
| Problema | PrimaCifraMinima | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64980353 | Utilizator | |
| Fișier | primaciframinima.c | Dimensiune | 2.81 KB |
| Data încărcării | 02 Iulie 2026, 15:23 | Scor/rezultat | Eroare de compilare |
primaciframinima.c:1:1: error: unknown type name ‘Această’ 1 | Această problemă din fișierul **image_7bcbbc.png** este perfectă pentru a exersa extragerea cifrelor unui număr și găsirea unui minim/maxim cu condiții multiple. | ^~~~~~~ primaciframinima.c:1:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘din’ 1 | Această problemă din fișierul **image_7bcbbc.png** este perfectă pentru a exersa extragerea cifrelor unui număr și găsirea unui minim/maxim cu condiții multiple. | ^~~ primaciframinima.c:1:18: error: unknown type name ‘din’ primaciframinima.c:3:1: error: stray ‘##’ in program 3 | ### Logica rezolvării | ^~ primaciframinima.c:3:3: error: stray ‘#’ in program 3 | ### Logica rezolvării | ^ primaciframinima.c:5:101: error: stray ‘\`’ in program 5 | 1. **Extragerea primei cifre:** Pentru a afla prima cifră a unui număr, îl putem împărți repetat la \`10\` atâta timp cât numărul este mai mare sau egal cu \`10\`. Ce rămâne la final este exact prima cifră (cea mai semnificativă). | ^ primaciframinima.c:5:104: error: stray ‘\`’ in program 5 | 1. **Extragerea primei cifre:** Pentru a afla prima cifră a unui număr, îl putem împărți repetat la \`10\` atâta timp cât numărul este mai mare sau egal cu \`10\`. Ce rămâne la final este exact prima cifră (cea mai semnificativă). | ^ primaciframinima.c:5:155: error: stray ‘\`’ in program 5 | 1. **Extragerea primei cifre:** Pentru a afla prima cifră a unui număr, îl putem împărți repetat la \`10\` atâta timp cât numărul este mai mare sau egal cu \`10\`. Ce rămâne la final este exact prima cifră (cea mai semnificativă). | ^ primaciframinima.c:5:158: error: stray ‘\`’ in program 5 | 1. **Extragerea primei cifre:** Pentru a afla prima cifră a unui număr, îl putem împărți repetat la \`10\` atâta timp cât numărul este mai mare sau egal cu \`10\`. Ce rămâne la final este exact prima cifră (cea mai semnificativă). | ^ primaciframinima.c:6:60: error: invalid suffix "$" on floating constant 6 | 2. **Căutarea din mers:** Nu este nevoie să salvăm cele $10.000$ de numere într-un vector. Putem citi fiecare număr și să-l procesăm pe loc (astfel avem complexitate de memorie $O(1)$). | ^~~~~ primaciframinima.c:8:3: error: stray ‘\`’ in program 8 | * \`min_cifra\`: pentru a ține minte cea mai mică primă cifră întâlnită până acum. O inițializăm cu \`10\` (o valoare intenționat mai mare decât orice cifră posibilă de la \`0\` la \`9\`), astfel încât primul număr citit să devină automat noul record. | ^ primaciframinima.c:8:13: error: stray ‘\`’ in program 8 | * \`min_cifra\`: pentru a ține minte cea mai mică primă cifră întâlnită până acum. O inițializăm cu \`10\` (o valoare intenționat mai mare decât orice cifră posibilă de la \`0\` la \`9\`), astfel încât primul număr citit să devină automat noul record. | ^ primaciframinima.c:8:99: error: stray ‘\`’ in program 8 | * \`min_cifra\`: pentru a ține minte cea mai mică primă cifră întâlnită până acum. O inițializăm cu \`10\` (o valoare intenționat mai mare decât orice cifră posibilă de la \`0\` la \`9\`), astfel încât primul număr citit să devină automat noul record. | ^ primaciframinima.c:8:102: error: stray ‘\`’ in program 8 | * \`min_cifra\`: pentru a ține minte cea mai mică primă cifră întâlnită până acum. O inițializăm cu \`10\` (o valoare intenționat mai mare decât orice cifră posibilă de la \`0\` la \`9\`), astfel încât primul număr citit să devină automat noul record. | ^ primaciframinima.c:8:169: error: stray ‘\`’ in program 8 | * \`min_cifra\`: pentru a ține minte cea mai mică primă cifră întâlnită până acum. O inițializăm cu \`10\` (o valoare intenționat mai mare decât orice cifră posibilă de la \`0\` la \`9\`), astfel încât primul număr citit să devină automat noul record. | ^ primaciframinima.c:8:171: error: stray ‘\`’ in program 8 | * \`min_cifra\`: pentru a ține minte cea mai mică primă cifră întâlnită până acum. O inițializăm cu \`10\` (o valoare intenționat mai mare decât orice cifră posibilă de la \`0\` la \`9\`), astfel încât primul număr citit să devină automat noul record. | ^ primaciframinima.c:8:176: error: stray ‘\`’ in program 8 | * \`min_cifra\`: pentru a ține minte cea mai mică primă cifră întâlnită până acum. O inițializăm cu \`10\` (o valoare intenționat mai mare decât orice cifră posibilă de la \`0\` la \`9\`), astfel încât primul număr citit să devină automat noul record. | ^ primaciframinima.c:8:178: error: stray ‘\`’ in program 8 | * \`min_cifra\`: pentru a ține minte cea mai mică primă cifră întâlnită până acum. O inițializăm cu \`10\` (o valoare intenționat mai mare decât orice cifră posibilă de la \`0\` la \`9\`), astfel încât primul număr citit să devină automat noul record. | ^ primaciframinima.c:9:3: error: stray ‘\`’ in program 9 | * \`best_numar\`: pentru a ține minte numărul efectiv care deține acest record. | ^ primaciframinima.c:9:14: error: stray ‘\`’ in program 9 | * \`best_numar\`: pentru a ține minte numărul efectiv care deține acest record. | ^ primaciframinima.c:13:55: error: stray ‘\`’ in program 13 | * Dacă prima lui cifră este **strict mai mică** decât \`min_cifra\`, actualizăm ambele recorduri (\`min_cifra\` și \`best_numar\`). | ^ primaciframinima.c:13:65: error: stray ‘\`’ in program 13 | * Dacă prima lui cifră este **strict mai mică** decât \`min_cifra\`, actualizăm ambele recorduri (\`min_cifra\` și \`best_numar\`). | ^ primaciframinima.c:13:97: error: stray ‘\`’ in program 13 | * Dacă prima lui cifră este **strict mai mică** decât \`min_cifra\`, actualizăm ambele recorduri (\`min_cifra\` și \`best_numar\`). | ^ primaciframinima.c:13:107: error: stray ‘\`’ in program 13 | * Dacă prima lui cifră este **strict mai mică** decât \`min_cifra\`, actualizăm ambele recorduri (\`min_cifra\` și \`best_numar\`). | ^ primaciframinima.c:13:112: error: stray ‘\`’ in program 13 | * Dacă prima lui cifră este **strict mai mică** decât \`min_cifra\`, actualizăm ambele recorduri (\`min_cifra\` și \`best_numar\`). | ^ primaciframinima.c:13:123: error: stray ‘\`’ in program 13 | * Dacă prima lui cifră este **strict mai mică** decât \`min_cifra\`, actualizăm ambele recorduri (\`min_cifra\` și \`best_numar\`). | ^ primaciframinima.c:14:42: error: stray ‘\`’ in program 14 | * Dacă prima lui cifră este **egală** cu \`min_cifra\`, intervine regula din cerință: verificăm dacă numărul curent este mai mare decât \`best_numar\` și, dacă da, actualizăm doar \`best_numar\`. | ^ primaciframinima.c:14:52: error: stray ‘\`’ in program 14 | * Dacă prima lui cifră este **egală** cu \`min_cifra\`, intervine regula din cerință: verificăm dacă numărul curent este mai mare decât \`best_numar\` și, dacă da, actualizăm doar \`best_numar\`. | ^ primaciframinima.c:14:135: error: stray ‘\`’ in program 14 | * Dacă prima lui cifră este **egală** cu \`min_cifra\`, intervine regula din cerință: verificăm dacă numărul curent este mai mare decât \`best_numar\` și, dacă da, actualizăm doar \`best_numar\`. | ^ primaciframinima.c:14:146: error: stray ‘\`’ in program 14 | * Dacă prima lui cifră este **egală** cu \`min_cifra\`, intervine regula din cerință: verificăm dacă numărul curent este mai mare decât \`best_numar\` și, dacă da, actualizăm doar \`best_numar\`. | ^ primaciframinima.c:14:177: error: stray ‘\`’ in program 14 | * Dacă prima lui cifră este **egală** cu \`min_cifra\`, intervine regula din cerință: verificăm dacă numărul curent este mai mare decât \`best_numar\` și, dacă da, actualizăm doar \`best_numar\`. | ^ primaciframinima.c:14:188: error: stray ‘\`’ in program 14 | * Dacă prima lui cifră este **egală** cu \`min_cifra\`, intervine regula din cerință: verificăm dacă numărul curent este mai mare decât \`best_numar\` și, dacă da, actualizăm doar \`best_numar\`. | ^ primaciframinima.c:18:1: error: stray ‘##’ in program 18 | ### Codul în C | ^~ primaciframinima.c:18:3: error: stray ‘#’ in program 18 | ### Codul în C | ^ primaciframinima.c:20:39: error: too many decimal points in number 20 | Deoarece numerele pot fi de până la $2.000.000.000$ (foarte aproape de limita maximă a tipului \`int\` clasic), este o practică bună și sigură să folosim tipul \`long long\` pentru a citi și stoca valorile. | ^~~~~~~~~~~~~ primaciframinima.c:20:96: error: stray ‘\`’ in program 20 | Deoarece numerele pot fi de până la $2.000.000.000$ (foarte aproape de limita maximă a tipului \`int\` clasic), este o practică bună și sigură să folosim tipul \`long long\` pentru a citi și stoca valorile. | ^ primaciframinima.c:20:100: error: stray ‘\`’ in program 20 | Deoarece numerele pot fi de până la $2.000.000.000$ (foarte aproape de limita maximă a tipului \`int\` clasic), este o practică bună și sigură să folosim tipul \`long long\` pentru a citi și stoca valorile. | ^ primaciframinima.c:20:159: error: stray ‘\`’ in program 20 | Deoarece numerele pot fi de până la $2.000.000.000$ (foarte aproape de limita maximă a tipului \`int\` clasic), este o practică bună și sigură să folosim tipul \`long long\` pentru a citi și stoca valorile. | ^ primaciframinima.c:20:169: error: stray ‘\`’ in program 20 | Deoarece numerele pot fi de până la $2.000.000.000$ (foarte aproape de limita maximă a tipului \`int\` clasic), este o practică bună și sigură să folosim tipul \`long long\` pentru a citi și stoca valorile. | ^ primaciframinima.c:22:1: error: stray ‘\`’ in program 22 | \`\`\`c | ^ primaciframinima.c:22:2: error: stray ‘\`’ in program 22 | \`\`\`c | ^ primaciframinima.c:22:3: error: stray ‘\`’ in program 22 | \`\`\`c | ^ In file included from /usr/include/stdio.h:44, from primaciframinima.c:23: /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:95:3: error: unknown type name ‘size_t’ 95 | size_t __pad5; | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:98:67: error: ‘size_t’ undeclared here (not in a function) 98 | char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:1:1: note: ‘size_t’ is defined in header ‘<stddef.h>’; did you forget to ‘#include <stddef.h>’? +++ |+#include <stddef.h> 1 | /* Copyright (C) 1991-2024 Free Software Foundation, Inc. /usr/include/stdio.h:340:34: error: expected declaration specifiers or ‘...’ before ‘size_t’ 340 | int __modes, size_t __n) __THROW __nonnull ((1)); | ^~~~~~ /usr/include/stdio.h:385:44: error: expected declaration specifiers or ‘...’ before ‘size_t’ 385 | extern int snprintf (char *__restrict __s, size_t __maxlen, | ^~~~~~ /usr/include/stdio.h:389:45: error: expected declaration specifiers or ‘...’ before ‘size_t’ 389 | extern int vsnprintf (char *__restrict __s, size_t __maxlen, | ^~~~~~ /usr/include/stdio.h:738:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fread’ 738 | extern size_t fread (void *__restrict __ptr, size_t __size, | ^~~~~ /usr/include/stdio.h:745:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fwrite’ 745 | extern size_t fwrite (const void *__restrict __ptr, size_t __size, | ^~~~~~ In file included from /usr/include/stdio.h:964: /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:26:61: error: expected declaration specifiers or ‘...’ before ‘size_t’ 26 | extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:29:62: error: expected declaration specifiers or ‘...’ before ‘size_t’ 29 | extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:36:50: error: expected declaration specifiers or ‘...’ before ‘size_t’ 36 | extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:37:28: error: expected declaration specifiers or ‘...’ before ‘size_t’ 37 | size_t __slen, const char *__restrict __format, | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:40:51: error: expected declaration specifiers or ‘...’ before ‘size_t’ 40 | extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:41:29: error: expected declaration specifiers or ‘...’ before ‘size_t’ 41 | size_t __slen, const char *__restrict __format, | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:93:39: error: expected declaration specifiers or ‘...’ before ‘size_t’ 93 | extern char *__gets_chk (char *__str, size_t) __wur; | ^~~~~~ In file included from /usr/include/features.h:502, from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33, from /usr/include/stdio.h:28: /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:100:14: error: expected declaration specifiers or ‘...’ before ‘size_t’ 100 | extern char *__REDIRECT (__fgets_chk_warn, | ^~~~~~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:106:49: error: expected declaration specifiers or ‘...’ before ‘size_t’ 106 | extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, | ^~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:110:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__fread_alias’ 110 | extern size_t __REDIRECT (__fread_alias, | ^~~~~~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:114:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__fread_chk_warn’ 114 | extern size_t __REDIRECT (__fread_chk_warn, | ^~~~~~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:122:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__fread_chk’ 122 | extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, | ^~~~~~~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2.h:51:1: error: expected declaration specifiers or ‘...’ before ‘size_t’ 51 | __NTH (snprintf (char *__restrict __s, size_t __n, | ^~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2.h:65:1: error: expected declaration specifiers or ‘...’ before ‘size_t’ 65 | __NTH (vsnprintf (char *__restrict __s, size_t __n, | ^~~~~ In file included from /usr/include/stdio.h:980: /usr/include/x86_64-linux-gnu/bits/stdio2.h: In function ‘fgets’: /usr/include/x86_64-linux-gnu/bits/stdio2.h:198:9: error: expected ‘;’ before ‘sz’ 198 | size_t sz = __glibc_objsize (__s); | ^~~ | ; /usr/include/x86_64-linux-gnu/bits/stdio2.h:199:7: error: ‘sz’ undeclared (first use in this function) 199 | if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/x86_64-linux-gnu/bits/stdio2.h:199:7: note: each undeclared identifier is reported only once for each function it appears in /usr/include/x86_64-linux-gnu/bits/stdio2.h: At top level: /usr/include/x86_64-linux-gnu/bits/stdio2.h:207:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fread’ 207 | fread (void *__restrict __ptr, size_t __size, size_t __n, | ^~~~~ primaciframinima.c:69:1: error: stray ‘\`’ in program 69 | \`\`\` | ^ primaciframinima.c:69:2: error: stray ‘\`’ in program 69 | \`\`\` | ^ primaciframinima.c:69:3: error: stray ‘\`’ in program 69 | \`\`\` | ^ primaciframinima.c: In function ‘main’: primaciframinima.c:46:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 46 | scanf("%lld", &x); | ^~~~~~~~~~~~~~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema PrimaCifraMinima face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.