[C++]Maksimum z wczytanych liczb
-
- Użytkownik
- Posty: 200
- Rejestracja: 21 lis 2012, o 18:21
- Płeć: Kobieta
- Lokalizacja: Kraków
- Podziękował: 42 razy
[C++]Maksimum z wczytanych liczb
Mam do napisania program, który czyta z wejścia liczby całkowite aż do napotkania liczby ujemnej, a nastepnie zwraca najwiekszy element z wczytywanych liczb (z pominięciem ostatniej, ujemnej liczby)
i do tego pierwiastek z najwiekszej liczby oraz od 1 do max wypisac wszytskie liczby pierwsze.
Nie bardzo wiem jak to zrobic. To juz jest chyba dla mnie za trudne :/
i do tego pierwiastek z najwiekszej liczby oraz od 1 do max wypisac wszytskie liczby pierwsze.
Nie bardzo wiem jak to zrobic. To juz jest chyba dla mnie za trudne :/
Ostatnio zmieniony 20 mar 2013, o 23:36 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
-
- Użytkownik
- Posty: 2203
- Rejestracja: 15 lis 2012, o 00:13
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 43 razy
- Pomógł: 526 razy
[C++]Maksimum z wczytanych liczb
Wszystkie, które zostały wczytane, czy wszystkie liczby pierwsze, które są mniejsze od \(\displaystyle{ \max}\) z wczytanych liczb?karolynqaa pisze:od 1 do max wypisac wszytskie liczby pierwsze.
-
- Użytkownik
- Posty: 145
- Rejestracja: 16 lis 2007, o 09:06
- Płeć: Mężczyzna
- Lokalizacja: Gniezno
- Podziękował: 2 razy
- Pomógł: 27 razy
[C++]Maksimum z wczytanych liczb
@Up wszystkie liczby mniejsze od wartości max to chyba ciągle wszystkie liczby...
Kod: Zaznacz cały
#include <iostream>
#include <vector>
using namespace std;
bool is_prime(int liczba)
{
bool temp = true;
if(liczba==1) return false;
for(unsigned int i=2;i<=sqrt(liczba);i++)
{
if(liczba%i==0)
return false;
}
return true;
}
int main()
{
vector<int>liczby;
int temp=0,max=0;
while(true)
{
cin>>temp;
if(temp<0) break;
if(temp>max) max=temp;
liczby.push_back(temp);
}
cout<<"Wartosc maksymalna "<<max<<" pierwiastek "<<sqrt(max)<<endl;
cout<<"Liczby pierwsze w podanym ciagu:"<<endl;
vector<int>::iterator it;
for( it=liczby.begin(); it!=liczby.end(); ++it )
{
if(is_prime(static_cast<int>(*it)))
cout<< *it <<'\n';
}
return 0;
}
-
- Użytkownik
- Posty: 200
- Rejestracja: 21 lis 2012, o 18:21
- Płeć: Kobieta
- Lokalizacja: Kraków
- Podziękował: 42 razy
[C++]Maksimum z wczytanych liczb
dziękuje bardzo
-- 20 mar 2013, o 23:33 --
tylko z tego co widze to to jest napisane na dużo wyższym poziomie niż ja się ucze .. heh ;P-- 20 mar 2013, o 23:36 --ja jak do tej pory uczyłam sie tylko pisania w C++ :
instrukcja warunkowa if, pętla while (obie wersje), pętla for oraz switch/case oraz funkcje matematyczne z biblioteki math.h .
Przepraszam za kłopot bo powinnam to napisać na poczatku.
-- 20 mar 2013, o 23:33 --
tylko z tego co widze to to jest napisane na dużo wyższym poziomie niż ja się ucze .. heh ;P-- 20 mar 2013, o 23:36 --ja jak do tej pory uczyłam sie tylko pisania w C++ :
instrukcja warunkowa if, pętla while (obie wersje), pętla for oraz switch/case oraz funkcje matematyczne z biblioteki math.h .
Przepraszam za kłopot bo powinnam to napisać na poczatku.
-
- Użytkownik
- Posty: 145
- Rejestracja: 16 lis 2007, o 09:06
- Płeć: Mężczyzna
- Lokalizacja: Gniezno
- Podziękował: 2 razy
- Pomógł: 27 razy
[C++]Maksimum z wczytanych liczb
Kolega rafalpw, jednak dobrze pytał czy pierwsze od 1 do max, czy spośród wczytanych to ja zamuliłem
Tutaj wersja od 1 do max, jeśli miałoby być spośród wczytanych liczb to musiałabyś jeszcze tablice przejrzeć.
Warto sprawdzić czy faktycznie korzystasz z funkcji które są w tej bibliotece math.h, bo może się okazać że wcale jej nie potrzebujesz.
Tutaj wersja od 1 do max, jeśli miałoby być spośród wczytanych liczb to musiałabyś jeszcze tablice przejrzeć.
Warto sprawdzić czy faktycznie korzystasz z funkcji które są w tej bibliotece math.h, bo może się okazać że wcale jej nie potrzebujesz.
Kod: Zaznacz cały
#include <iostream>
using namespace std;
bool is_prime(int liczba)
{
bool temp = true;
if(liczba==1) return false;
for(unsigned int i=2;i<=sqrt(liczba);i++)
{
if(liczba%i==0)
return false;
}
return true;
}
int main()
{
int temp=0,max=0;
while(temp>=0)
{
cin>>temp;
if(temp>max) max=temp;
}
cout<<"Wartosc maksymalna "<<max<<" pierwiastek "<<sqrt(max)<<endl;
for(int i=0;i<=max;i++)
if(is_prime(i))
cout<<i<<", ";
return 0;
}
-
- Użytkownik
- Posty: 200
- Rejestracja: 21 lis 2012, o 18:21
- Płeć: Kobieta
- Lokalizacja: Kraków
- Podziękował: 42 razy
[C++]Maksimum z wczytanych liczb
Jeszcze jedno pytanie. Czy to:
bool is_prime(int liczba)
{
bool temp = true;
można zastapic czyms innym ? bo nie miałam pojaiwały mi sie takie polecenia jak 'bool'
bool is_prime(int liczba)
{
bool temp = true;
można zastapic czyms innym ? bo nie miałam pojaiwały mi sie takie polecenia jak 'bool'
-
- Użytkownik
- Posty: 200
- Rejestracja: 21 lis 2012, o 18:21
- Płeć: Kobieta
- Lokalizacja: Kraków
- Podziękował: 42 razy
-
- Użytkownik
- Posty: 145
- Rejestracja: 16 lis 2007, o 09:06
- Płeć: Mężczyzna
- Lokalizacja: Gniezno
- Podziękował: 2 razy
- Pomógł: 27 razy
[C++]Maksimum z wczytanych liczb
Kod: Zaznacz cały
int is_prime(int liczba)
{
int temp = 1;
@EDIT: I jeszcze jedna pętla jest do zmiany bo pewnikiem wyjdzie że 0 jest liczbą pierwszą..