Informatică, întrebare adresată de ralu245, 9 ani în urmă

Scrieţi programul C/C++ care citeşte de la tastatură elementele unui tablou unidimensional cu exact 10 numere naturale, mai mici decât 1000, determină şi afişează pe ecran, separate prin câte un spaţiu, numărul de elemente din şir care sunt multipli ai numărului 13 şi, în continuare, poziţiile pe care acestea se găsesc în şir. Elementele tabloului sunt numerotate de la 1 la 10.

Exemplu: dacă şirul citit este 2, 6, 26, 14, 130, 11, 8, 23, 39, 52,
se vor afişa numerele 4 3 5 9 10.

Răspunsuri la întrebare

Răspuns de mihaidinbrasov
0
intr-o variabila (sa-i zicem p) pe care o initializezi cu 0 retii numarul de aparitii. 
vei mai avea un sir tot cu 10 elemente (in care vei retine numerele gasite).

parcurgi tot sirul cu i de la 1 la 10. pentru fiecare element verifici daca ai restul impartirii la 13 egal cu 0 (cred ca era Mod in C/C++). 
cand gasesti cate un element cresti p cu 1 si y[p] = elementul respectiv (unde y e sirul nou format)

afisezi asa: p
si apoi pentru i = 1 pana la p afisezi elementele lui y.. 
Răspuns de express
2
Salut! Ti-am facut o sursa in C++, asa cum de fapt ai cerut. Succes!
#include <iostream>
using namespace std;
int v[11], n, i, k;
int main()
{
    for(i = 1; i <= 10; i ++)
    {
        cin >> v[i];
        if(v[i] % 13 == 0) k ++;
    }
    cout << k << " ";
    for(i = 1; i <= 10; i ++)
        if(v[i] % 13 == 0) cout << i << " ";
    return 0;
}

Alte întrebări interesante