... A po sebi znam koliko je teško kada se jednom naučiš na jedan tip programiranja, preći na drugi (QB na C++, C++ na Python (uvlačenja), Ruby na Haskell).
Bilo sto na Haskell .
... A po sebi znam koliko je teško kada se jednom naučiš na jedan tip programiranja, preći na drugi (QB na C++, C++ na Python (uvlačenja), Ruby na Haskell).
Bilo sto na Haskell .
ekipa,rijesavam ovaj zadatak:
http://www.z-trening.com/tasks.php?show_task=5000000040
e sad uspia sam ga nakodirat na način da se umjesto razlomaka upisuju brojevi, znaci umisto 3/4 se upiše 0.75 i na taj način mi je radia, ali u zadatku je naglašeno da budu razlomci, pokuša sam nekako na najjednostavniji način preradit ga ali je problem šta varijabla char ne može primit znak / , onda mu se naravno ni jedan if ne poklapa i rezultat je kriv,jel pada kome na pamet kako to sredit
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
int brojprijatelja;
char kroz;
int djelovipizze1,djelovipizze2;
double zbrojdjelovapizze = 0.0;
double ostatakdoubleapridijeljenjuscijelimbrojem;
double oststakoddoubleadointa;
int brojkojitrebaoduzestiodzbroja;
vector <double> vectordjelovapizze;
cout << " mirko upisi koliko prijatelja ces pozvati" << endl;
cin >> brojprijatelja;
cout << " neka tvoji prijatelji upisu koliko pizze zele pojesti" << endl;
for(int i = 0; i < brojprijatelja; i++)
{
cin >> djelovipizze1 >> kroz >> djelovipizze2;
if (djelovipizze1,kroz,djelovipizze2 == 1/4)
{
vectordjelovapizze.push_back(0.25);
}
else if(djelovipizze1,kroz,djelovipizze2 == 1/2)
{
vectordjelovapizze.push_back(0.5);
}
else if (djelovipizze1,kroz,djelovipizze2 == 3/4)
{
vectordjelovapizze.push_back(0.75);
}
}
for (int i=0; i<vectordjelovapizze.size();i++)
{
zbrojdjelovapizze += vectordjelovapizze[i];
}
brojkojitrebaoduzestiodzbroja = zbrojdjelovapizze / 1;
ostatakdoubleapridijeljenjuscijelimbrojem = zbrojdjelovapizze - brojkojitrebaoduzestiodzbroja;
oststakoddoubleadointa = 1 - ostatakdoubleapridijeljenjuscijelimbrojem;
cout << "mirko morat ces kupiti" << " " << zbrojdjelovapizze + oststakoddoubleadointa <<" " << "pizze" << endl;
}
umjesto da imas
if (djelovipizze1,kroz,djelovipizze2 == 1/4)
vectordjelovapizze.push_back(0.25);
double ukupnoPizza=0;
//kroz petlju za svakog prijatelja pozoves:
ukupnoPizza += atof(djelovipizze1) / atof(djelovipizze2);
Varijablu ukupnoPizza na kraju zaokruzis na veci cijeli broj i to ti je to
A inace, odgovor na tvoje pitanje sa usporedjivanjem je da trebas koristiti strcmp() funkciju za usporedbu, npr
if (strcmp(djelovipizze, "3/4")==0)
...
umjesto da imas
if (djelovipizze1,kroz,djelovipizze2 == 1/4)
vectordjelovapizze.push_back(0.25);
double ukupnoPizza=0;
//kroz petlju za svakog prijatelja pozoves:
ukupnoPizza += atoi(djelovipizze1) / atoi(djelovipizze2);
Varijablu ukupnoPizza na kraju zaokruzis na veci cijeli broj i to ti je to
da ali šta će se onda upisivat , 2 broja, tj 3 i 4?? pa caka je u tome da na upisu baš bude: 3/4 , i ništa drugo, zna sam ja i sam napravit to šta si ti reka.
umjesto da imas
if (djelovipizze1,kroz,djelovipizze2 == 1/4)
vectordjelovapizze.push_back(0.25);
double ukupnoPizza=0;
//kroz petlju za svakog prijatelja pozoves:
ukupnoPizza += atoi(djelovipizze1) / atoi(djelovipizze2);
Varijablu ukupnoPizza na kraju zaokruzis na veci cijeli broj i to ti je to
da ali šta će se onda upisivat , 2 broja, tj 3 i 4?? pa caka je u tome da na upisu baš bude: 3/4 , i ništa drugo, zna sam ja i sam napravit to šta si ti reka.
if (strcmp(djelovipizze, "3/4")==0)
kad napisem to if (strcmp ( djelovipizze1,kroz,djelovipizze2 == 1/4)) , podcrta mi sve 3 varijable u unutarnjoj zadgradi
kad napisem to if (strcmp ( djelovipizze1,kroz,djelovipizze2 == 1/4)) , podcrta mi sve 3 varijable u unutarnjoj zadgradi
strcmp prima samo dvije varijable koje se usporedjuju. Ti si predao 3 varijable odvojene zarezom. Pripazi sto usporedjujes i s cim.
kad napisem to if (strcmp ( djelovipizze1,kroz,djelovipizze2 == 1/4)) , podcrta mi sve 3 varijable u unutarnjoj zadgradi
strcmp prima samo dvije varijable koje se usporedjuju. Ti si predao 3 varijable odvojene zarezom. Pripazi sto usporedjujes i s cim.
prvi put cujesm za strcmp funkciju pa se nemoj čudit, al ti meni nisi riješio problem nego si mi samo rekao oo što sam i znao, ajde iskodiraj ovo tako da na ulazu bude ili 3/4 ili 1/4 ili 1/2
edit: samo sekund da malo bolje razmotrim ovo sta si napisa gore
kad napisem to if (strcmp ( djelovipizze1,kroz,djelovipizze2 == 1/4)) , podcrta mi sve 3 varijable u unutarnjoj zadgradi
strcmp prima samo dvije varijable koje se usporedjuju. Ti si predao 3 varijable odvojene zarezom. Pripazi sto usporedjujes i s cim.
prvi put cujesm za strcmp funkciju pa se nemoj čudit, al ti meni nisi riješio problem nego si mi samo rekao oo što sam i znao, ajde iskodiraj ovo tako da na ulazu bude ili 3/4 ili 1/4 ili 1/2
edit: samo sekund da malo bolje razmotrim ovo sta si napisa gore
char unos[10];
cin >> unos;
if (strcmp(unos, "1/4") == 0)
{
vectordjelovapizze.push_back(0.25);
}
kad napisem to if (strcmp ( djelovipizze1,kroz,djelovipizze2 == 1/4)) , podcrta mi sve 3 varijable u unutarnjoj zadgradi
strcmp prima samo dvije varijable koje se usporedjuju. Ti si predao 3 varijable odvojene zarezom. Pripazi sto usporedjujes i s cim.
prvi put cujesm za strcmp funkciju pa se nemoj čudit, al ti meni nisi riješio problem nego si mi samo rekao oo što sam i znao, ajde iskodiraj ovo tako da na ulazu bude ili 3/4 ili 1/4 ili 1/2
edit: samo sekund da malo bolje razmotrim ovo sta si napisa gore
char unos[10];
cin >> unos;
if (strcmp(unos, "1/4") == 0)
{
vectordjelovapizze.push_back(0.25);
}
je, radi, fala stari :D, znaci strcmp je funkcija koja uspoređuje 2 varijable i onda ako stavim da je strcmp od 2 varijable == 0 on smatra da su varijable jednake ?
Tako je, ako vrati 0 onda su isti stringovi
Tako je, ako vrati 0 onda su isti stringovi
super, naravno moze se koristit za uspoređivanje varijabli bilo kojeg tipa?
uploada sam ga na z trening ali mi kaze passed 0/10 odnosno daje krivi rezultat za svih 10 primjera, a ja sam ga testira svim sto su oni dali za primjere i sto mi je ppalo na pamet a program radi :/
http://www.z-trening.com/submit.php?subm_stat=1&submit=7100262051
Kakvog smisla to ima? strcmp, kao što i samo ime kaže služi za usporedbu stringova. Ostale varijable se uspoređuju na klasičan način
if(a == b)...
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?
..i na testnim podacima dobivam prolaznost 4/10 . Netko vidi problem?
a ja za onaj gori dobivam 0/10 a meni radi ko sat sa svim njihovim primjerima
Pozdrav programeri...eto počeli i mi programirat u školi,a pošto je profesorica ladna voda i ne zna objasnit,i još kud sam ja totalni početnik...imam nekih problema...kad napišem neki program i idem na compile & run izbaci mi ovu poruku " The system cannot find the file specified "...
Koji ti je IDE?
Kao što rekoh totalni početnik i bilo bi dobro kad bi mi rekao šta je to IDE jer nemam pojma
http://www.bug.hr/forum/topic/programiranje/tutorialide-pocetnika-podesavanje/125989.aspx
Ajmo mi tamo raspravljati o IDE-ovima, može?
Ja bi taj zadatak za traženje kolinearnih točaka pokušao riješiti ovako:
- pošto znamo da su dvije točke uvijek kolinearne tražimo treću koja odgovara prvim dvjema
- računamo površinu trokuta za te tri točke, ako je površina 0, točke su na pravcu
povrsina = (1/2)[x1(y2- y3) + x2(y3- y1) + x3(y1- y2)]
- trostrukom petljom riješim kombinacije
- koji prolaz vanjske petlje ima najviše slučajeva gdje je površina trokuta 0 - to je najveći broj točaka na jednom pravcu,
ako je u prolazu vanjske petlje npr. brojač pokazao 5 - imamo 3 + 4 točke na pravcu.
Kako da napravim jednostavni kruzic u C++ -u?
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.
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
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.
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.
Neću Javu, mrzim Javu, osječam se ograničeno u njoj... :D
DirectX...hmmm
Kako da napravim jednostavni kruzic u C++ -u?
nije li ovo ono što tražiš? http://www.syvum.com/cgi/online/serve.cgi/squizzes/cpp/cpp_p15a.html
samo, tu ima par problema, jer trebaš znati putanju za video drivere
nisam uspio kompajlirati..
nego da pitam jednu sitnicu koju sam susreo a neznam ju - u cpp fajlu imam includan library windows.h - e sada me zanima kak da ja kompajliram na linuxu taj cpp?
Moze mi neko pomoci gdje grijesim.. Koristim visual studio c++ 6.0
/* Napisati c program koji koristi switch naredbu za izbor aritmeticke operacije koja se izvodi sa dva broja */
#include<stdio.h>
void main ()
{
char znak;
float a,b,c;
printf("Unesite prvi broj : ");
scanf("%f",&a);
printf("Unesite operaciju + - / * ");
scanf("%c",&znak);
printf("Unesite drugi broj : ");
scanf("%f", &b);
switch (znak)
{
case '+':
c=a+b;
break;
case '-':
c=a-b;
break;
case '/':
c=a/b;
break;
case '*':
c=a*b;
break;
default :
printf("Niste unijeli tacan znak");
}
printf("Rezultat je %d",c);
}
Koristi int main, ne void, meni u C::B u izbaciva tu grešku, napiši:
int main({ kod return 0;}
Moze mi neko pomoci gdje grijesim.. Koristim visual studio c++
Enter ti ostane u bufferu tipkovnice pa ti varijabla znak drži znak ASCII kôda 10. To si i sam mogao provjeriti tako da ispišeš upisani znak kod default! Dakle, Enter (znak 10) treba ručno ukloniti iz buffera tipkovnice:
/* Napisati c program koji koristi switch naredbu za izbor aritmeticke operacije koja se izvodi sa dva broja */
#include<stdio.h>
int main ()
{
char znak;
float a,b,c;
printf("Unesite prvi broj : ");
scanf("%f",&a);
printf("Unesite operaciju + - / * ");
scanf("%c",&znak);
while (scanf("%c") == '\n');
printf("Unesite drugi broj : ");
scanf("%f", &b);
switch (znak)
{
case '+':
c=a+b;
break;
case '-':
c=a-b;
break;
case '/':
c=a/b;
break;
case '*':
c=a*b;
break;
default :
printf("Niste unijeli tacan znak - ASCII je: %d\n", (int)znak);
}
printf("Rezultat je %f\n",c);
return 0;
}
PS obrati malo pažnju na indentaciju (razmake s lijeve strane) - ovo što si napravio u switchu je užas. I ne nazivaj varijable slovom abecede - ako tražiš upis broja, onda nazovi varijablu broj. Ako ti treba varijabla za rezultat, onda je nazovi rezultat - a ne "c".