Pozdrav,imam problem u vezi s jednim zadatkom,ako mozete pomoci bila bih Vam jako zahvalna:
Dat je niz realnih brojeva.Potrebno je odrediti zbir elemenata koji predhode prvom pojavljivanju datog realnog broja p u nizu.
Pozdrav,imam problem u vezi s jednim zadatkom,ako mozete pomoci bila bih Vam jako zahvalna:
Dat je niz realnih brojeva.Potrebno je odrediti zbir elemenata koji predhode prvom pojavljivanju datog realnog broja p u nizu.
Pozdrav,imam problem u vezi s jednim zadatkom,ako mozete pomoci bila bih Vam jako zahvalna:
Dat je niz realnih brojeva.Potrebno je odrediti zbir elemenata koji predhode prvom pojavljivanju datog realnog broja p u nizu.
Gdje si zapela?
Evo slučajno se učlanio na Z-trening pa probam jedan zadatak:
N different points with integer coordinates are given in a plane. You are to write a program that finds the maximum number of collinear points (they all belong to the same line).
INPUT:
The first line of standard input gives a number N (1 <= N <= 600). In each of the next N lines there will be two integers X and Y (-32000 <= X,Y <= 32000) that will represent the coordinates of the given points.
OUTPUT:
To the standard output, output only one integer that yields the maximum number of points given in the input that are collinear.
Input:
4
1 1
2 2
2 1
3 1
Output:
3
Moje rješenje:
#include <iostream>
using namespace std;
void Najcesci(int* p, int n, int* koliko){
int i;
*koliko = p[0];
for(i = 1; i < n; i++)
if(p[i] > *koliko)
*koliko = p[i];
}
int main()
{
int n, pomX, pomY, X, Y;
int brX[64000] = {0}, brY[64000] = {0};
cin >> n;
for(int i = 0; i < n; i++){
cin >> pomX >> pomY;
brX[(pomX < 0) ? (-pomX+32000) : pomX]++;
brY[(pomY < 0) ? (-pomY+32000) : pomY]++;
}
Najcesci(&brX[0], 64000, &X);
Najcesci(&brY[0], 64000, &Y);
if(X > Y)
cout << X;
else
cout << Y;
return 0;
}
..i na testnim podacima dobivam prolaznost 4/10 . Netko vidi problem?
Prijatelju, dali ima takvih treninga ali za C#. Ako ima bio bi zahvalan da mi predložiš. Hvala
Ne mogu nikako definisati ovaj broj p.Mislim kada unesem niz brojeva nece da mi sabere ove brojeve do broja p.
Ne mogu nikako definisati ovaj broj p.
Kak to misliš da ne možeš? Pa tražiš korisnika da upiše broj p. Ili ga definiraš u programu. I riješena stvar.
Kako da napravim jednostavni kruzic u C++ -u?
Pogledaj ovo. No, nisi li ti onaj koji je tek poceo programirati, kako ces raditi s nekim frameworkom, ako ne znas niti osnove? Java te ogranicava, wtf?
Pa uradim to ,al' nece da sabere do broja p,samo mi ponovi ovaj broj sto sam unijela...Problem je u kodu
Pa uradim to ,al' nece da sabere do broja p,samo mi ponovi ovaj broj sto sam unijela...Problem je u kodu
Pa stavi kod ovdje pa da vidimo.
Kako da napravim jednostavni kruzic u C++ -u?
Pogledaj ovo. No, nisi li ti onaj koji je tek poceo programirati, kako ces raditi s nekim frameworkom, ako ne znas niti osnove? Java te ogranicava, wtf?
Ja sam "poceo programirati" prije nekih 5 mj. ali sam ucio prebrzo a malo naucio, pa sad sve ispocetka polagano ucim.
Nisam rekao da me Java ogranicava, nego da se osjecam kao da me ogranicava (vjerojatno zog klasa).
Nisam znao da je tesko napraviti krugic u C++ -u (za pocetnika) kao sto ti kazes, jer u qbasicu ga napravis s jednom linijom koda
btw hvala na linku...
#include<iostream>
#include<cmath>
using namespace std;
int main (){
int i=0,zbir=0,p;
int niz[5];
for (int i=0;i<5;i++){
cout<<"Unesi elemnent niza"<<endl;
cin>>niz[i];
}
for (int i=0;i<5;i++)
cout<<niz[i]<<endl;
cin>>p;
float br;
do {
cout<<"Unesi realan broj";
cin>>br;
zbir = zbir + br;
}
while(zbir<=p);
zbir = zbir - br;
cout<<zbir<<endl;
system("pause");
return 0;
}
#include "stdafx.h"#include <iostream>using namespace stdstruct{ int x; int y; char z;}variable;int main (){ cout << "Unesite prvi broj (mora biti pozitivan i cijeli broj) : " << endl; cin >> variable.x;if ( variable.x <= 0 )cout << "Krivi unos! Pokrenite program ponovo!" << endl;else cout << "Unesite drugi broj (mora biti pozitivan i cijeli broj) : " << endl;cin >> variable.y;if ( variable.y <= 0 )cout << "Krivi unos! Pokrenite program ponovo!" << endl; else cout << "Unesite operaciju (+ ili - ili * ili /)" <<endl;switch (variable.z)
{case'+': {cout << (x+y) << endl; break;}case '-': {cout << (x-y) << endl; break;}case '*': {cout << (x*y) << endl; break;}case '/': {cout << (x/y) << endl; break;}
}
system ("pause");
return 0;
}
Molim pomoc, ovakve error -e mi izbacuje:
c:\users\korisnik\documents\visual studio 2008\projects\re\re\re.cpp(29) : error C2065: 'x' : undeclared identifier
Valjda:
variable.x+variable.y;
cout << "Unesite operaciju (+ ili - ili * ili /)" <<endl;switch (variable.z)
{case'+': {cout << (x+y) << endl; break;}case '-': {cout << (x-y) << endl; break;}case '*': {cout << (x*y) << endl; break;} case '/': {cout << (x/y) << endl; break;}
}
A gdje ti je unos z-a?
cin>>variable.z;
Jao, kako ti je kod neuredan...
Kako da napravim jednostavni kruzic u C++ -u?
Uzmi Javu i radi Java applet. Ili bilo koji GUI framework koji ima nekakvu paintbox kontrolu. Igranje s grafikom, a da nije u sklopu GUI-ja, u C++-u je gubljenje vremena. Prvo bi si trebao naći neki framework koji ti omogućava korištenje grafike. Ne znam ni jednog takvog. Onda možda bolje da odmah ideš na DirectX.
preporucio bih ti OpenGL
OpenGL je mrtav.
sto da ucim u vezi grafike ako je OpenGL mrtav?
@Games4Life, zar je bilo problem napisati ovako:
#include <iostream>using namespace std;struct{ int x; int y; char z;}variable;int main (){ cout << "Unesite prvi broj (mora biti pozitivan i cijeli broj) : " << endl; cin >> variable.x; if ( variable.x <= 0 )cout << "Krivi unos! Pokrenite program ponovo!" << endl; else cout << "Unesite drugi broj (mora biti pozitivan i cijeli broj) : " << endl; cin >> variable.y; if ( variable.y <= 0 )cout << "Krivi unos! Pokrenite program ponovo!" << endl; else cout << "Unesite operaciju (+ ili - ili * ili /)" <<endl; cin>>variable.z; switch (variable.z) { case'+': {cout << (variable.x+variable.y) << endl; break;} case '-': {cout << (variable.x-variable.y) << endl; break;} case '*': {cout << (variable.x*variable.y) << endl; break;} case '/': {cout << (variable.x/variable.y) << endl; break;} } system ("pause"); return 0;}
cout << "Unesite operaciju (+ ili - ili * ili /)" <<endl;switch (variable.z)
{case'+': {cout << (x+y) << endl; break;}case '-': {cout << (x-y) << endl; break;}case '*': {cout << (x*y) << endl; break;} case '/': {cout << (x/y) << endl; break;}
}
A gdje ti je unos z-a?
cin>>variable.z;
Jao, kako ti je kod neuredan...
Ne treba unos za z jer se koristi u naredbu switch...
Ali hvala na onome, stavio sam x umjesto varable.x...
Kako ne bi trebao unos? A na temelju cega bi switch dio trebao znati koji case odabrati ako ne postoji ta varijabla u memoriji?
Aaaaaaaaa......Da, sad vidim, u knjizi su mi cout i cin bili u jednoj liniji pa nisam vidio...
Aaaaaaaaa......Da, sad vidim, u knjizi su mi cout i cin bili u jednoj liniji pa nisam vidio...
To je posve nebitno, bitna je logika - ne možeš ići ispitivat vrijednost varijable ako joj nigdje nisi dodijelio vrijednost.
Bok...
moram napisati program u koji korisnik unosi najprije broj x, a zatim i x brojeva.Ispisuje se koliko brojeva je parno.
pocela sam ovako,sljedi neki oblik for petlje ali za dalje nemam nikave ideje..moze pomoc? :)
#include<iostream>
using namespace std;
int main()
{
int x;
cout<<"unesite jedan broj";
cin>>x;
Aaaaaaaaa......Da, sad vidim, u knjizi su mi cout i cin bili u jednoj liniji pa nisam vidio...
To je posve nebitno, bitna je logika - ne možeš ići ispitivat vrijednost varijable ako joj nigdje nisi dodijelio vrijednost.
Znam, ali ja sam mislio da se vrijednost dodjeljuje u naredbi switch i onda ako je npr. dodjeljeno + radi zadatak,
ali ide prvo dodjela vrijednosti sa cin, pa se ispituje u i ispisuje u naredbi switch..
Onda ne znaš naredbu switch, sigurno ne čitaš knjigu sa razumjevanjem.
Pa daj, prije 1.5 h (onda kad sam postao onaj post) sam tek saznao za nju, no dobro, znao sam i prije
da postoji :D ali pa tek sam ju poceo koristiti, nemogu jedamput sve zapamtiti, a uostalom jos sam "svježi" u programiranju.
Bok...
moram napisati program u koji korisnik unosi najprije broj x, a zatim i x brojeva.Ispisuje se koliko brojeva je parno.
pocela sam ovako,sljedi neki oblik for petlje ali za dalje nemam nikave ideje..moze pomoc? :)
#include<iostream>
using namespace std;
int main()
{
int x;
cout<<"unesite jedan broj";
cin>>x;
i sada ispod toga nastavi ovako:
for petlja koja ide od jedan do x, i povečava se za 1 {
traži od korisnika da unese broj, i to spremi na neko poziciju (možeš i u neki niz) }
i onda provjeri svaki broj da li je paran i broj tih brojeva ispiši //to možeš na više načina pr. ako završavaju na 2,4,6,8, i 0 (osim ako je 0) ili ako nema ostatka kod dijeljenja sa 2 (uzmi float kao tip podatka)
Parnost provjeravaš modulo operatorom:
if(neki_broj%2==0)
Zatim inkrementiraj varijablu parni, a pod else neparni.
Parnost provjeravaš modolo operatorom:
Operatorom modulo. http://en.wikipedia.org/wiki/Modulo_operation
Da, ispravio sam.
#include<iostream>
using namespace std;
int main()
{
int x, broj;
cout<<"unesite jedan broj";
cin>>x;
for(int i=1; i<=x; i++)
{
cout<<"unesite jos toliko brojeva";
cin>>broj;
}
if (broj%2==0)
kako da pobroji koliko je parnih....://
if (broj%2==0)
kako da pobroji koliko je parnih....://
Treba ti varijabla u kojoj ćeš bilježiti trenutni parnih. Varijablu ćeš naravno inicijalizirati na nulu. A ako je broj dijeljiv s dva, uvećaš ćeš je za jedan.