Răspuns :
Răspuns:
Problema 1
#include <stdio.h>
int main() {
int v[1001], n;
// Citeste numarul de elemente
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
// Citeste fiecare element al vectorului
scanf("%d", &v[i]);
}
// Afiseaza elementele de pe pozitii pare
for (int i = 1; i <= n; i++) {
if (i % 2 == 0) {
printf("%d ", v[i]);
}
}
printf("\n");
// Afiseaza elementele de pe pozitii impare, dar invers
for (int i = n; i >= 1; i--) {
if (i % 2 == 1) {
printf("%d ", v[i]);
}
}
printf("\n");
}
Problema 2:
#include <stdio.h>
#include <limits.h>
int main() {
int v[1001], n, mini = INT_MAX;
// Citeste numarul de elemente
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
// Citeste fiecare element al vectorului
scanf("%d", &v[i]);
}
// Afla elementul minim si retine-l in variabila mini
for (int i = 1; i <= n; i++) {
if (v[i] < mini) {
mini = v[i];
}
}
// Afiseaza valoarea minima
printf("%d\n", mini);
// Afiseaza pozitiile elementelor care sunt egale cu mini
for (int i = 1; i <= n; i++) {
if (v[i] == mini) {
printf("%d ", i);
}
}
printf("\n");
}
Problema 3:
#include <stdio.h>
#include <limits.h>
int oglindit(int x) {
int o = 0;
// Itereaza prin cifrele lui x, pornind de la ultima
while (x) {
int cifra = x % 10;
// Construieste oglinditul, atasand la final cifra curenta
o = o * 10 + cifra;
x /= 10;
}
return o;
}
int main() {
int n, x;
// Citeste numarul n
scanf("%d", &n);
// Treci prin toate valorile mai mari decat n
// Si opreste-te cand gasesti un palindrom
x = n + 1;
// Cat timp x nu e palindrom
while (oglindit(x) != x) {
// Treci la urmatorul
x++;
}
printf("%d", x);
}
Explicație:
La a treia problema am folosit o functie, pentru a-mi fi mai usor sa verific daca un numar e palindrom.
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!