E corecta problema asta facuta cu structura do-while? Daca nu, cum e corect?
Să se scrie un program care citește un număr natural n (n>1) și apoi să se afișeze toți divizorii, în ordine crescătoare, separați prin spațiu. (cu do-while!!)
#include <iostream>
using namespace std;
int main()
{
int n, d;
cout<<"Dați numarul: ";
cin>>n;
do
{
for (d=1; i<=n; d++)
if (n%d==0)
cout<<d<<' ';
}
while (d<=n);
return 0;
}
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
Salut! Aici ai rezolvarea corecta:
#include <iostream>
using namespace std;
int main()
{
int n,d;
d=1;
cout<<"N="; cin>>n;
do {
if(n%d==0)
cout << d << " ";
d++;
}
while (d<=n);
return 0;
}
Explicație:
Ce este diferit este faptul ca nu am mai folosit instuctiunea for in interiorul while-ului, deoarece nu este nevoie de ea. Ne folosim de un contor numit d pe care il verificam de fiecare data daca N se imparte exact la acesta, caz in care afisam acest d, dupa care marim contorul pana cand va fi egal cu n(conditia while-ului)
eqVus:
Mulțumesc!
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Franceza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă