Napisati program koji će izračunati površinu kocke kada je broj paran i veći od 47 a manji ili jednak od 100. Ako je broj neparan, veći od 0 i manji od 50 unijeti drugi broj i izračunati površinu pravokutnika. Ako je broj negativan pretvoriti ga u pozitivan i izračunati opseg kružnice. Ako nije ništa od toga ispisati poruku ''Nemam pojma''. Hvala unaprijed
Programiranje u C++-u - pitanja i odgovori
- poruka: 7.283
- |
- čitano: 1.511.308
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Napisati program koji će izračunati površinu kocke kada je broj paran i veći od 47 a manji ili jednak od 100. Ako je broj neparan, veći od 0 i manji od 50 unijeti drugi broj i izračunati površinu pravokutnika. Ako je broj negativan pretvoriti ga u pozitivan i izračunati opseg kružnice. Ako nije ništa od toga ispisati poruku ''Nemam pojma''. Hvala unaprijed
{ kod}
Else
{ kod}
Što tu nije jasno
Na koji način kreirati objekat i kasnije ga koristiti, a da isti "nadživi" trenutni scope.
Ovako sam nešto smislio:
klasa *imeObjekta = new klasa();
No kako ga kasnije koristiti?
Ovako:
*imeObjekta.funkcija();
Ili samo:
imeObjekta.funkcija();
Naravno na vrhu fajla imam
klasa *imeObjekta = NULL;
Kasnije kad više ne budem trebao koristiti objekat koristim delete(imeObjekta); ili delete(*imeObjekta);
Ta * kod pointera me zeza, nisam više siguran kad ju koristim a kad ne.
Ovako mi je bilo potrebno nešto -> https://stackoverflow.com/questions/2988273/c-pointer-to-objects
Pozdrav, trebala bi mi pomoć oko dva zadatka..
Oba sam riješila,ali nisam sigurna koliko točno (kad provjerim sve funkcionira ali ipak..)
Prvi zadatak:
Napišite program koji traži od korisnika da upiše jedan cijeli broj x, a onda na zaslon ispiše sve brojeve sa kojima je djeljiv upisani broj.
#include<iostream>
using namespace std;
int main(){
int x;
cout<<"upiši cijeli broj:"<<endl;
cin>>x;
for(int i=1; ; i++){
if (x%i==0)
cout<<i<<endl;
}
system ("pause");
return 0;
}
..i drugi
Napišite program koji traži od korisnika da upiše jedan cijeli broj y, a onda na ekran ispiše sumu svih brojeva manjih od y.
#include<iostream>
using namespace std;
int main(){
int y, suma=0;
cout<<"upiši cijeli broj:"<<endl;
cin>>y;
for(int i=1; i<y; i++){
suma+=i;
cout<<suma<<endl;
}
system ("pause");
return 0;
}
hvalaa
Pozdrav ekipa, imam problem s implementacijom Hierholzerovog algoritma koji koristi priority queue. Nije mi baš najjasnije na koji način je implementiran priority queue. Prema pseudokodu uzmemo vertex koji ima najveći d, u sljedećoj while petlji stavljamo taj vertex u trenutni put i odabiremo sljedeći vertex. Na koji način je impelementiran u i u.adj_list[]? Ulazni podaci su povezani graf (A->B). Svaka pomoć je dobrodošla.
@hrasta03
Moraš naći formulu za ove matematičke krivulje, te imaš ovaj x, odnosno strane kvadrata, pa onda nađe one dvije varijable kaj idu u te krivulje....nemre se sada sjetiti kak' se zovu ovak' iz glave....
Pitaju temi o matematici, ekipa će ti pomoći.
Kada znaš te formule, sami programski kôd je trivijalan.
Da, C+ je kraljevski jezik!
Učenje nikada ne prestaje.
Nije teško ali trebaš znat formulu za taj oblik. Kontam da se sve vrti oko kružnice čiji je radijus 2x. Bar mi tako izgleda
Pozdrav,
Mucim se s jednim zadatkom:
Napiši program koji ispisuje brojeve između 100 i 1000 (koji su parni i djeljivi sa 13)te njihovu sumu pomocu while petlje:
#include<iostream>
usingnamespace std;
int main() {
int i=100, suma=0;
while (i<=1000){
i++;
if(i%2==0 && i%13==0){
suma=+i;
}
cout<<suma<<endl;
}
return0;
}
Umjesto sume mi ispisuje brojeve iz uvjeta if petlje, ali u u skupinama od cca 10-15-20 istinh za redom, a sumu brojeve ne ispisuje.
Zamolio bi ako mi netko može ukazat na greške.
Hvala i Lp
Trebas "suma += i;" umjesto "suma=+i". Ovo drugo je isto kao i suma=i. I stavi ispis sume izvan while petlje.
Inace mozes testirat i samo 'i%26 == 0'
Jos bolji nacin je naci prvi djeljiv s 26 i veci od 100 (a sto je 104 to mozes i u glavi) i onda dodat svaki 26-ti:
for (int i=104; i <= 1000; i += 26)
suma += i;
Trebas "suma += i;" umjesto "suma=+i". Ovo drugo je isto kao i suma=i. I stavi ispis sume izvan while petlje.
Inace mozes testirat i samo 'i%26 == 0'
Jos bolji nacin je naci prvi djeljiv s 26 i veci od 100 (a sto je 104 to mozes i u glavi) i onda dodat svaki 26-ti:
for (int i=104; i <= 1000; i += 26)
suma += i;
Rijeseno, puno hvala.
Pozdrav svima,
imam jedan problem, zapetljao sam se u petlju
Pokušavam riješit zadatak sa slike i sad me zeza if petlja kod upita šifre.
Sto se ostatka kod-a tice, mislim da je više manje sve u redu?
#include <iostream>
#include <cstdlib>
#include<ctime>
#include<cstring>
using namespace std;
struct student
{
string sifra;
string prezime;
float ocjena;
int prisustvo;
};
int main(){
int n;
cout<<"Unesite broj studenata:";
cin>>n;
if (n>150){
cout<<"Broj studenata ne moze biti veci od 150!!"<<endl;;
cout<<"Unesite broj studenata:";
cin>>n;
}
student studenti[n];
for (int i = 0; i < n; i++) {
cout << "Unesite sifru" <<" "<< i+1<<" studenta:";
cin >> studenti[i].sifra;
if (studenti[i].sifra == "redovan"){
cin >> studenti[i].sifra;
}else{
if (studenti[i].sifra == "vanredan"){
cin >> studenti[i].sifra;
}
else{
cout << "Unesite sifru" <<" "<< i+1<<" studenta:";
}
cout << "Unesite prezime" <<" "<<i+1<<" studenta:";
cin >> studenti[i].prezime;
}
cout << "Unesite prezime" <<" "<<i+1<<" studenta:";
cin >> studenti[i].prezime;
studenti[i].ocjena = 0;
studenti[i].prisustvo = 0;
}
cout<<"Upisano je "<<n<<" "<<"sutenata."; //ispis broja upisanih studenata
return 0;
}
Također probao sam i s ovako necim:
if (input==redovan || vanredan){
cin >> studenti[i].sifra; }
else{
cout << "Unesite sifru" <<" "<< i+1<<" studenta:"
}
Ma zahvaljujem odmah :D Sad mi je jasno kako se to može s "goto" naredom odradit, i to puno jednostavnije nego što sam ja pokušavao.
Puno hvala još jednom žao mi je što sam te mucio bezveze, bio bi zahvalan i sa kratkim uputama i smjernicama a ne ovako da te mucim da prepravljaš moj kod.
Moža bi bolje rješenje bilo
while ((std::cin >> n) > 150)
std::cout >> "Broj studenata ne može biti veći od 150.\n";
Inače nije dobra praksa koristiti goto, Google odgovor.
Isto bi se moglo iskoristiti za sifru koristeći neki flag. Recimo dok je flag = true (tj. dok je sifra neispravna) ponavljaj unos, u slučaju da je ispravna, postavimo sifru na unesenu vrijednost izlazimo iz petlje. Npr. :
while (flag) {
std::cin >> pw;
if ((pw[0] != 'r') || (pw[0] != 'v')) {
std::cout << "Neispravna sifra.\n";
else {
student[i].sifra = pw;
flag = false;
}
}
Pisem na pamet tako da nisam pokušao, nemam trenutno instaliran compiler al eto neko moje rješenje. I ja sam u fazi učenja pa ako netko ima kritiku ili dodati nesto..be my guest..
Naravno, posebno ako je za ispita
Isto bi se moglo iskoristiti za sifru koristeći neki flag. Recimo dok je flag = true (tj. dok je sifra neispravna) ponavljaj unos, u slučaju da je ispravna, postavimo sifru na unesenu vrijednost izlazimo iz petlje. Npr. :
while (flag) {
std::cin >> pw;
if ((pw[0] != 'r') || (pw[0] != 'v')) {
std::cout << "Neispravna sifra.\n";
else {
student[i].sifra = pw;
flag = false;
}
}
Pisem na pamet tako da nisam pokušao, nemam trenutno instaliran compiler al eto neko moje rješenje. I ja sam u fazi učenja pa ako netko ima kritiku ili dodati nesto..be my guest..
Nisam još došao do flagov-ova pa ne znam. Ali ja sam si to nekako ovako zamislio:
if (sifra = redovan ili vanredan){
cin >> sifra;
}
else{
cout << Ponovo unesite sifru;
}
Ti prvo provjeriš dali je redovan ili vanredan pa tek onda imaš kod koji unosi šifru(koju si prije toga provjerio).
Logika ti ne valja lega.
Ti prvo provjeriš dali je redovan ili vanredan pa tek onda imaš kod koji unosi šifru(koju si prije toga provjerio).
Logika ti ne valja lega.
Joj da moja greška, ovako nešto u grubo onda:
cin >>sifra;
if (sifra = redovan ili vanredan)
else{
cout<<Ponovo unesite sifru;
}
Nazvao sam flag ne znam kako bih na hrvatskom nazvao . To je varijabla koja čisto služi za izlazak iz petlje, ništa drugo. Ako sam dobro razumio, ti bi trebao ponavljati inpute dok ne uneseš ispravnu šifru ? Flag dakle u mom primjeru služi da nakon ispravno unesene šifre izađeš iz petlje.
@malak
E, frende ovo kaj pitaš za flag.
Za flag vele na Fakultetu da se zove zastavica.
BTW, volim kada ljudi uče programirati. Pogotovo C++.
Zdravo zanima me jedna stvarcica oko C++ ..
Jel moguce npr. da imam jedan niz u kojem cu spremiti neke odredjene rijeci i sad da u programu da provjerim da li neka od random rijeci postoje u prethodnom nizu, naravno u kojem ja vec spremim odredjene rijeci...
Ako je moguce ( a vjerujem da jeste) moze samo neka ideja kako to realizovati...