View Full Version : [C++]
Giuseppe214
07-11-2007, 17:16
salve a tutti avrei bisogno di aiuto!!
ho un problema che dice questo:
"data una sequenza di numeri, contare quelli negativi e positivi e comunicarli
:help: grazie
marko.fatto
07-11-2007, 17:23
edit...
variabilepippo
07-11-2007, 17:25
Quali problemi incontri? Un forum non è il luogo dove si possono postare problemi e attendere che qualcuno li risolva. Devi mostrare un pizzico di buona volontà... :)
controlla il resto della divisione per due...
Positivi e negativi, non pari e dispari... ;)
Giuseppe214
07-11-2007, 17:27
Il programma in parte l'ho fatto
#include <stdio.h>
#include <iostream>
int main() {
using namespace std;
int a,b,c,d,e,i,n;
cout<<"Inserisci il primo numero: ";
cin>>a;
cout<<"Inserisci il primo numero: ";
cin>>b;
cout<<"Inserisci il primo numero: ";
cin>>c;
cout<<"Inserisci il primo numero: ";
cin>>d;
cout<<"Inserisci il primo numero: ";
cin>>e;
if (a > 0) or (b > 0) (c > 0) or (d > 0) or (e > 0);
i=i++;
else if (a < 0) or (b < 0) (c < 0) or (d < 0) or (e < 0)
n=n++;
cout<<"Inumeri positivi sono': "<<i<<"I numeri negativi sono: "<<n<<endl;
system("Pause");
}
Non sono capace ancora di usare gli if else
marko.fatto
07-11-2007, 17:30
Positivi e negativi, non pari e dispari... ;)
scusa sono lesso:muro:
Il programma in parte l'ho fatto
#include <stdio.h>
#include <iostream>
int main() {
using namespace std;
int a,b,c,d,e,i=0,n=0;
cout<<"Inserisci il primo numero: ";
cin>>a;
cout<<"Inserisci il primo numero: ";
cin>>b;
cout<<"Inserisci il primo numero: ";
cin>>c;
cout<<"Inserisci il primo numero: ";
cin>>d;
cout<<"Inserisci il primo numero: ";
cin>>e;
if ((a > 0) || (b > 0) || (c > 0) || (d > 0) || (e > 0))
i++;
else if ((a < 0) || (b < 0) || (c < 0) || (d < 0) || (e < 0))
n++;
cout<<"Inumeri positivi sono': "<<i<<"I numeri negativi sono: "<<n<<endl;
system("Pause");
}
Non sono capace ancora di usare gli if else
così...
variabilepippo
07-11-2007, 17:36
Non sono capace ancora di usare gli if else
Ci sono tante cosette che dovresti ripassare oltre ai costrutti if/else... ;)
#include <iostream>
using namespace std;
int main(){
int p, n, num;
p = 0;
n = 0;
do
{
cout << "Inserire un numero (0 per terminare): ";
cin >> num;
if (num > 0) p++; else if (num < 0) n++;
} while (num != 0);
cout << "Positivi: " << p << endl;
cout << "Negativi: " << n << endl;
}
Giuseppe214
07-11-2007, 17:42
Sto imparando ad usarlo ora!!2 settimane Grazie mille dell'aiuto
Invece questo non so proprio cosa voglia dire:
"date le equazioni di due rette y=mx+q, trovare le coordinate dei punti di intersezione"
Che cosa si deve fare??
marko.fatto
07-11-2007, 17:49
ti consiglio un ripassino anche in geometria:stordita:
variabilepippo
07-11-2007, 17:58
Che cosa si deve fare??
Si deve risolvere un banale sistema di 2 equazioni di primo grado. Sul piano cartesiano, qual è l'intersezione tra le rette:
y = x
e
y = -x+1
Giuseppe214
08-11-2007, 14:33
Ho fatto qst formula con il metodo della sottrazione
#include <stdio.h>
#include <iostream>
int main() {
using namespace std;
int m,m1,q,q1,x,y;
cout<<"Inserisci la m della prima retta: ";
cin>>m;
cout<<"Inserisci la q della prima retta: ";
cin>>q;
cout<<"Inserisci la m della seconda retta: ";
cin>>m1;
cout<<"Inserisci la q della seconda retta: ";
cin>>q1;
x = (q1-q)/m-m1;
y = m1*((q1-q)/(m-m1))+q1;
cout<<"Il punto di intersezione e': "<<x<<" "<<y<<endl;
system("Pause");
}
Va bene così?
variabilepippo
08-11-2007, 14:56
Questa è una versione leggermente migliorata:
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
double m,m1,q,q1,x,y;
cout<<"Inserisci la m della prima retta: ";
cin>>m;
cout<<"Inserisci la q della prima retta: ";
cin>>q;
cout<<"Inserisci la m della seconda retta: ";
cin>>m1;
cout<<"Inserisci la q della seconda retta: ";
cin>>q1;
// Non viene gestito il caso di rette parallele!
x = -(q-q1)/(m-m1);
y = m*x+q;
cout<<"Punto di intersezione = ("<< x <<","<< y <<")"<<endl;
system("PAUSE");
}
Giuseppe214
08-11-2007, 16:02
x = -(q-q1)/(m-m1);
y = m*x+q;
cout<<"Punto di intersezione = ("<< x <<","<< y <<")"<<endl;
system("PAUSE");
}
-(q-q1) è la stessa cosa di (q1-q)
perchè m*x+q?Non è giusto qll mio?
variabilepippo
08-11-2007, 16:14
Hai verificato se il tuo codice fornisce risultati esatti? :rolleyes:
Inoltre ho sistemato un paio di questioni "stilistiche"...
Giuseppe214
08-11-2007, 16:31
Per le parallele e coincidenti mi da errore sull'if :mc:
maledetti if :muro:
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
double m,m1,q,q1,x,y;
cout<<"Inserisci la m della prima retta: ";
cin>>m;
cout<<"Inserisci la q della prima retta: ";
cin>>q;
cout<<"Inserisci la m della seconda retta: ";
cin>>m1;
cout<<"Inserisci la q della seconda retta: ";
cin>>q1;
if (m = m1) and (q != q1);
cout<<"Rette parallele e distinte"<<;
else if (m = m1) and (q = q1);
cout<<"Rette coincidenti<<;
x = -(q-q1)/(m-m1);
y = m*x+q;
cout<<"Punto di intersezione = ("<< x <<","<< y <<")"<<endl;
system("PAUSE");
}
marko.fatto
08-11-2007, 17:28
negli if...
al posto di and metti ||
al posto di = metti == (se no fai un'assegnazione non un controllo)
e tutto l'argomento dell'if lo metti tra parantesi e togli il ;
Giuseppe214
08-11-2007, 17:35
Ah si ora funziona
marko.fatto
08-11-2007, 17:36
if ((m == m1) || ( q != q1))
cout<<"Rette parallele e distinte";
else if ((m == m1) || (q == q1))
Giuseppe214
08-11-2007, 17:40
si ho visto mi ero dimenticato la q!!
Ma mi esegue anche l'altro pezzo di codice
x = -(q-q1)/(m-m1);
y = m*x+q;
cout<<"Punto di intersezione = ("<< x <<","<< y <<")"<<endl;
come faccio a farlo fermare?
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
double m,m1,q,q1,x,y;
cout<<"Inserisci la m della prima retta: ";
cin>>m;
cout<<"Inserisci la q della prima retta: ";
cin>>q;
cout<<"Inserisci la m della seconda retta: ";
cin>>m1;
cout<<"Inserisci la q della seconda retta: ";
cin>>q1;
if ((m == m1) || (q != q1))
cout<<"Rette parallele e distinte";
else if ((m == m1) || (q == q1))
cout<<"Rette coincidenti";
x = -(q-q1)/(m-m1);
y = m*x+q;
cout<<"Punto di intersezione = ("<< x <<","<< y <<")"<<endl;
system("PAUSE");
}
marko.fatto
08-11-2007, 17:46
metti tutto il resto in un else
else
{
x = -(q-q1)/(m-m1);
y = m*x+q;
cout<<"Punto di intersezione = ("<< x <<","<< y <<")"<<endl;
}
negli if...
al posto di and metti ||
sbagliato! and -> && :)
marko.fatto
08-11-2007, 18:07
sbagliato! and -> && :)
vero :doh:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.