Siemka!
Potrzebuję pomocy przy tym programiku
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream>
#include <stdlib.h>
#define MAX 10000
using namespace std;
int NWD1(int a, int b)
{
while (a != b)
{
int lz1;
lz1++;
if (a > b)
a -= b;
else
b -= a;
}
return a;
}
int NWD2(int a, int b)
{
int pom;
while (b != 0)
{
int lz2;
lz2++;
pom = b;
b = a%b;
a = pom;
}
return a;
}
int main()
{
int lz1=0;
int lz2=0;
int i, j, zakres, dokad,a,b,c,d,pom;
int l=0;
int tablica[MAX];
cout << "Podaj gorny zakres, do ktorego chcesz odnalezc liczby pierwsze\n";
cin >> zakres;
dokad = floor(sqrt(zakres));
for (i = 1; i <= zakres; i++)
tablica[i] = 1;
for (i = 2; i <= dokad; i++)
{
if (tablica[i] != 0)
{
j = i + i;
while (j <= zakres)
{
tablica[j] = 0;
j += i;
}
}
}
printf("Liczby pierwsze z zakresu od 1 do %d\n\n", zakres);
for (i = 2; i <= zakres; i++)
if (tablica[i] != 0)
{
l++;
cout << "\t" << i;
}
cout << "\nIlosc liczb pierwszych: " << l;
cout << " \n******************************************************************************";
cout << "\nWersja nieoptymalizowana \n";
cout << "\nPodaj dwie liczby: ";
cout << "\nLiczba a: ";
cin >> a;
cout << "\nLiczba b: ";
cin >> b;
cout << "NWD(" << a << "," << b << ") = " << NWD1(a, b) << endl;
cout << " \n******************************************************************************";
cout << "\nWersja optymalizowana \n";
cout << "\nPodaj dwie liczby: ";
cout << "\nLiczba a: ";
cin >> a;
cout << "\nLiczba b: ";
cin >> b;
cout << "NWD(" << a << "," << b << ") = " << NWD2(a, b) << endl;
cout << "zamiany: " << lz1 << "\n" << lz2;
system("PAUSE");
}
Zadanie polega na tym
Wbudować” w algorytm mechanizmy zliczania wykonanych podczas realizacji obliczeń iteracji
(pętli while),
Wstawiłem do pętli pierwszej (lz1) i drugiej (lz2) licznik, który się zwiększa i pokazuje 0.
Dziękuje z góry ;)