znači u programskom jeziku c moran napravit da mi komp traži unos dva komoleksna broja i zatim prema odabiru (1,2,3) radi odabranu operaciju(zbrajanje,množenje,djeljenje),sve to treba ići preko naredbe switch.Iskreno ovo nije neki težak zadatak ali mi se ne da mozgat jer san priumoran a triba mi za nešto.
Nemamo drugoga posla, evo ti upute.
Switch-aš varijablu koja sadrži cjeli broj koji predstavlja operaciju.
Staviš nekolika casea '1' '2' '3' i daš im određenu funkcionalnost.
Možda je lakše da unosiš znak +, - , *, /. Tada ti varijabla mora biti tipa char.
ok ali da bi omogućio kompleksne brojeve moran koristit library math i koju još varijablu?
budući da imaš dva broja možes stavit 4 varijable npr a1,a2,b1,b2 gdje su a1 i a2 realni, a b1 i b2 imaginarni djelovi
mogu li ovako počet?
int i,x,y,a,b;
printf("Upisi 2 kompleksna broja oblika: x+yi\n");
scanf("%d+%di",x,y);
scanf("%d+%di",a,b);
printf("Izaberi operaciju:\1-zbrajanje\n2-oduzimanje\n3-mnozenje\n4-dijeljenje");
scanf("%d",&i);
switch (i)mogu li ovako počet?
int i,x,y,a,b;
printf("Upisi 2 kompleksna broja oblika: x+yi\n");
scanf("%d+%di",x,y);
scanf("%d+%di",a,b);
printf("Izaberi operaciju:\1-zbrajanje\n2-oduzimanje\n3-mnozenje\n4-dijeljenje");
scanf("%d",&i);
switch (i)
probaj, nisam nikad piso u C-u(sutra ću prvi put), ali mislim da unosiš na krivi način
mislim da treba ić, scanf("%d%d",&x,&y);
fala provat ću sutra sad san krepan XD
Jednostavno ne znan di grišin,stalno mi javlja grešku u programu:
#include<stdio.h>
#include<conio.h>
#include<complex.h>
main ()
{
int i;
float Z,X,Y;
printf("Ucitaj 2 komp. broja oblika x+yi:\n");
scanf("%f+%fi",&X);
scanf("%f+%fi",&Y);
Z=(%f+%fi)+(%f+%fi);
printf("(%f+%f)i+(%f+%f)i",X,Y,Z);
getch();
ovo je samo da ih provan zbrojit a unda ću kad ih unesen lako ubacit switch i ostale komponente
Jednostavno ne znan di grišin,stalno mi javlja grešku u programu:
- #include<stdio.h>
- #include<conio.h>
- #include<complex.h>
- main ()
- {
- int i;
- float Z,X,Y;
- printf("Ucitaj 2 komp. broja oblika x+yi:\n");
- scanf("%f+%fi",&X);
- scanf("%f+%fi",&Y);
- Z=(%f+%fi)+(%f+%fi);
- printf("(%f+%f)i+(%f+%f)i",X,Y,Z);
- getch();
U 9. redu učitaš 2 broja, ali spremiš pod 1 varijablu, isto tako i u 10., to ne bi trebalo radit, a i ne vidim svrhu toga.
I što radi točno 11. red?
11 red san više stavljao da pratim tok da se ne izgubim a u 9-om redu nisan više zna kako najavit kompleksan broj,pa san mislio ovako realan dio + imaginaran dio-i stavio ih pod varijablu x
uf evo opet san prova i nema šanse,aj molin vas pomozite mi učitat brojeve
uf evo opet san prova i nema šanse,aj molin vas pomozite mi učitat brojeve
Gle, pod 1 varijablu ne možeš učitat 2 broja (osim ako nije polje), zato u 9. redu učitaš i X i Y. (scanf("%f+%fi", &X, &Y);)
A ako pod Z želiš stavit broj onda napišeš Z=X+Y, ali svejedno mislim da to neće radit.
printf("Unesi realni i imaginarni dio prvog kompleksnog broja: ");
scanf("%d%d",&a,&b);
printf("Unesi realni i imaginarni dio drugog kompleksnog broja: ");
scanf("%d%d",&c,&d);
ili
printf("Unesi prvi broj oblika x+yi: ");
scanf("%d+%di",&a,&b);
printf("Unesi drugi broj oblika x+yi: ");
scanf("%d+%di",&c,&d);
ako unosiš na prvi način, Z=8+5i unosiš kao "8 5"
ako unosiš na drugi način, Z=8+5i unosiš kao "8+5i"
Ovako ti napravi.
Napraviš jednu strukturu u kojoj staviš dvije float varijable, i objekt te strukture unosiš dio po dio, najprije realni dio, a onda imaginarni dio.
#include <stdio.h>
struct Kompleksni
{
float realni;
float imaginarni;
};
int main()
{
Kompleksni a;
printf("Unesi realni dio: ");
scanf("%f", &a.realni);
printf("Unesi imaginarni dio: ");
scanf("%f", &a.imaginarni);
printf("%f + %f i", a.realni, a.imaginarni);
return 0;
}
#include <iostream>
#include <complex>
using namespace std;
int main()
{
complex<double> z2;
complex<double> z3;
cout<<"Ucitaj 2 komp. broja oblika (x,y) \n";
cin>>z2;
cin>>z3;
cout<< "REZULTAT JE "<< z2 + z3 << endl;
return 0;
}
Možda griješim, ali mi se čini da u C-u ne postoji complex.h header, nego da se kod headera complex radi o klasi, a to je C++.
Dakle, ipak će se ovo morati ručno računati, pošto se radi o C-u.
Možda griješim, ali mi se čini da u C-u ne postoji complex.h header, nego da se kod headera complex radi o klasi, a to je C++.
Dakle, ipak će se ovo morati ručno računati, pošto se radi o C-u.
Sad sam probo copy-paste prethodni program i neradi.
Čak i da C ima header complex, autoru teme bi bilo bolje da prvi put napiše ručno.
evo uspio san sve ručno san upisiva i doša do dijela di triba zbrojit:
#include<stdio.h>
#include<conio.h>
main ()
{
int i;
float a,b,c,d,z,r,u,k;
printf("Upisi prvi kompleksni broj:\n");
scanf("%f+%fi",&a,&b);
printf("Upisi drugi kompleksni broj:\n");
scanf("%f+%fi",&c,&d);
printf("Odaberi operaciju:\n1-zbrajanje\n2-oduzimanje\n3-mnozenje\n4-dijeljenje\n");
scanf("%d",&i);
switch (i)
{
case 1: z=(a+c)+(b+d)*i;
printf("z=(%.2f+%.2f)+(%2.f+%2.f)*i",a,c,b,d,z);
break;
}
getch();
}
int _tmain(int argc, _TCHAR* argv[])
{ int a,a1,b,b1,c,c1;
int izbor;
int brojac=0;
do
{
if(brojac==0){
printf("\nUnesi realni dio prvog broja.....");
scanf("%d",&a);
printf("\nUnesi imaginarni dio prvog broja.....");
scanf("%d",&a1);
printf("\nUnesi realni dio drugog broja.....");
scanf("%d",&b);
printf("\nUnesi imaginarni dio drugog broja.....");
scanf("%d",&b1);
}
printf("\n0 Unos nova dva kompleksna broja\n1 Zbrajanje\n2 Oduzimanje\n3 Mnozenje\n4 Dijeljenje\n5 IZLAZ IZ PROGRAMA");
printf("\nUnesi broj operacije koju zelis radit nad ova dva broja: ");
scanf("%d",&izbor);
switch(izbor)
{
case 1:
c=a+b;
c1=a1+b1;
printf("\nRezultat zbrajanja je kompleksni broj:%d+%di ",c,c1);
brojac++;
break;
case 2:c=a-b;
c1=a1-b1;
printf("\nRezultat oduzimanja je kompleksni broj:%d+%di ",c,c1);
brojac++;
break;
case 5:
printf("\nKRAJ RADA");
brojac++;
break;
case 0:
printf("\nUnesi realni dio prvog broja.....");
scanf("%d",&a);
printf("\nUnesi imaginarni dio prvog broja.....");
scanf("%d",&a1);
printf("\nUnesi realni dio drugog broja.....");
scanf("%d",&b);
printf("\nUnesi imaginarni dio drugog broja.....");
scanf("%d",&b1);
brojac++;
break;
default:
printf("\nPogresan unos");
brojac++;
break;
}}
while(izbor!=5);
return 0;
}
Evo ga ne radi samo mozenje i djeljenje neznam sad koje su tocno formule za izracun
nadam se da sam pomogao
edit
evo uspio san sve ručno san upisiva i doša do dijela di triba zbrojit:
#include<stdio.h>
#include<conio.h>
main ()
{
int i;
float a,b,c,d,z,r,u,k;
printf("Upisi prvi kompleksni broj:\n");
scanf("%f+%fi",&a,&b);
printf("Upisi drugi kompleksni broj:\n");
scanf("%f+%fi",&c,&d);
printf("Odaberi operaciju:\n1-zbrajanje\n2-oduzimanje\n3-mnozenje\n4-dijeljenje\n");
scanf("%d",&i);
switch (i)
{
case 1: z=(a+c)+(b+d)*i;
printf("z=(%.2f+%.2f)+(%2.f+%2.f)*i",a,c,b,d,z);
break;
}
getch();
}
nisu to kompleksni brojevi, upotrijebi strukturu kako sam napisao, točno to ti se traži u zadatku.
ok struktura početna radi ali sad iman problem s nečin drugin:
switch (i)
{
case 1:
printf("z=(%.2f+%.2f)+(%2.f+%2.f)*i",a,c,b,d,z);
break;
case 2:
printf("r=(%.2f-%2.f)+(%.2f-%.2f)*i",a,c,b,d,r);
break;
}
kada okinen program i dođe do neke od ovih operacija on mi ne izbaci rezultat nego mi isprinta ovaj red-npr.(z) ali sa gore unesenin brojevima,di je greška
Ti mene ne slušaš, pod strukturom mislim na onu struturu struct Kompleksni {}, ovo sa 10 float varjabli nema smisla.
A ovdje si u printf dao naredbu printanja na konzolu, a ne zbrajanja brojeva.
1-i dalje ne kontam šta misliš
2-nezz na kojih 10 float naredbi misliš ja koristim switch naredbu jer mi izričito ona treba
Ovo ti je jedan od načina u kojem se računanje ne vrši u switchu, nego se koriste funkcije. Kao što vidiš tebi je ovdje ostalo implementirati funkcije za oduzimanje, množenje i dijeljenje.
Ne moraš ovako, možeš izračun napraviti i u switchu pošto nije predugačak.
#include <stdio.h>
#include<complex>
#include<iostream>
using namespace std;
struct Kompleksni
{
float realni;
float imaginarni;
};
Kompleksni ZbrajanjeKompleksnih(Kompleksni a, Kompleksni b)
{
Kompleksni zbroj;
zbroj.realni = a.realni + b.realni;
zbroj.imaginarni = a.imaginarni + b.imaginarni;
return zbroj;
}
int main()
{
Kompleksni a, b, rezultat;
printf("Unesi prvi kompleksni broj: ");
scanf("%f%f", &a.realni, &a.imaginarni);
printf("Unesi drugi kompleksni broj: ");
scanf("%f%f", &b.realni, &b.imaginarni);
printf("Odaberi matematicku operaciju [+,-,*,/]: ");
char operacija;
cin>> operacija;
switch(operacija)
{
case '+':
rezultat = ZbrajanjeKompleksnih(a, b);
printf("Zbroj: %f + %fi", rezultat.realni, rezultat.imaginarni);
break;
case '-':
// Napravi sam
break;
case '*':
// Napravi sam
break;
case '/':
// Napravi sam
break;
default:
printf("Pogresna operacija!");
}
return 0;
}
Kolko vi mozete trolat oko tako jednostavne stvari?
Kolko vi mozete trolat oko tako jednostavne stvari?
tebi ovo trolanje što sam ja napisao?
nemoj se uvrijediti, ali čini mi se da ti je tipkovnica brža od pameti
hvala svima na velikoj pomoći i strpljenju,mislin da ako neko triba pomoć nijedan odgovor nije trolanje,uspio san i evo programa:
#include<stdio.h>
#include<conio.h>
main ()
{
int i;
float a,b,c,d,z,z1,r,r1,u,k;
printf("Upisi prvi kompleksni broj:\n");
scanf("%f+%fi",&a,&b);
printf("Upisi drugi kompleksni broj:\n");
scanf("%f+%fi",&c,&d);
printf("Odaberi operaciju:\n1-zbrajanje\n2-oduzimanje\n3-mnozenje\n4-dijeljenje\n");
printf("Izbor:");
scanf("%d",&i);
switch (i)
{
case 1:
z=a+c;
z1=b+d;
printf("\nRezultat zbrajanja je kompleksni broj:%2.f+%2.fi ",z,z1);
break;
case 2:
r=a-c;
r1=b-d;
printf("\nRezultat oduzimanja je kompleksni broj:%2.f+%2.fi ",r,r1);
break;
case 3:
u=(a*c)-(b*d)+i*(b*c+a*d);
printf("\nRezultat mnozenja je komp.broj:%.2fi",u) ;
case 4:
k=((a*c)+(b*d))/((c*c)+(d*d))+ i*((b*c)-(a*d))/((c*c)+(d*d));
printf("\nRezultat dijeljenja je komplesni broj:%.2fi ",k);
break;
}
getch();
}
header <complex > ?
struktura za 2 kompleksna broja?
funkcije za množeje zbrajanje i ostalo?
