Kamil Kluz - 2012-04-02 12:15:14

witam
te zadania miala jakas grupa laboratoryjna

1. obl. pole prostokata do momentu podania 2 takich samych bokow
2. wprowadzenie n-elementowego wektora i sumowanie parzystych elementow
3. macierz o wym. nxm, sumowanie wszystkich el. oprocz 1. wiersza

mile widziane zrobienie i wrzucenie ;)

zad. 1:

Kod:

#include <iostream>
using namespace std;
int main()
{
float a,b,polepowierzchni;

do
{
cout<<"Podaj bok a i b:";
cin>>a,b;
polepowierzchni=a*b;
cout<<"S="<<polepowierzchni<<endl;
}
while (a!=b)

cout<<"podales dwie takie same dane!"<<endl;

return 0;
}

jeżeli jest jakiś błąd to piszcie

zad. 2:

Kod:

#include <iostream>
using namespace std;
int main()
{
const int wmax=100;  //stała, wymiar max wektora
float x[wmax], y[wmax];
int n;
cout << "podaj liczbe elementow x i y (<"<<wmax<<"):";
cin >> n;
int i;

for (i=0; i<n; i++)
{
cout << "podaj x["<<(i+1)<<"]:";
cin >> x[i];
}

for (i=n-1; i>=0; i--)
{
cout << "Podaj y["<<(i+1)<<"]:";
cin >> y[i];
}

float suma;
suma=0;
for (i=0; i<n; i++)
{
if (i%2==0)
suma=suma+x[i];
}
}

ten program nie mam pojęcia czy będzie działał, proszę o sprawdzenie ;)

Łukasz Drupka - 2012-04-02 16:03:09

pierwsze źle bo zawsze zrobisz jeden obieg petli nawet jak od razu zostana podane 2 takie same dane

Kamil Kluz - 2012-04-02 16:05:10

ale musze zrobic jeden obieg zeby wprowadzic dane a potem na koncu je porownac, jezeli sa takie same to wyskakujesz z petli; dobrze mysle?

@EDIT
do dobra masz racje, co proponujesz?

MateuszJarosz - 2012-04-02 16:10:09

Na petli while to zrobic nie do while i juz gra gitara

Kamil Kluz - 2012-04-02 16:15:31

czyli

while (a!=b)
{
cout<<"Podaj bok a i b:";
cin>>a,b;
polepowierzchni=a*b;
cout<<"S="<<polepowierzchni<<endl;
}

??

Marcin_Dudek - 2012-04-02 16:19:44

zadanie 1.

Kod:

# include <iostream>
using namespace std;
int main()
{

float a,b,polepowierzchni;

do
{
cout<<"Podaj bok a:";
cin>>a;
cout<<"Podaj bok b:";
cin>>b;
polepowierzchni=a*b;
cout<<"S="<<polepowierzchni<<endl;
}
while (a!=b);
cout<<"podales dwie takie same dane!"<<endl;
return 0;
}

zadanie 2.

Kod:

#include<stdlib.h>
# include <iostream>
using namespace std;
int main()
{
float suma=0;
const int n=10;
int wektor[n];
    cout << "podaj liczby:"<<endl;
    for (int i=0;i<n;i++){
        cin >> wektor[i];
    }
    for (int i=1;i<n;i=i+2){
        suma+=wektor[i];
    }
cout << suma;
system ("pause");
return 0;
}

zadanie 3.

Kod:

#include<stdlib.h>
# include <iostream>
using namespace std;
int main()
{
float suma=0;
const int n=10;
const int m=10;
int macierz[n][m];
    cout << "podaj liczby:"<<endl;
for (int i=0;i<n;i++)
    for(int a=0;a<m;a++){
        cin >> macierz[i][a];
        }
for (int i=1;i<n;i++)
    for(int a=0;a<m;a++){
        suma+=macierz[i][a];
        }
cout << suma;
system ("pause");
return 0;
}
Kamil Kluz - 2012-04-02 16:26:01

w imieniu pozostałych grup dziękuję ;)

co do 2. zdania to tam miało być sumowanie parzystych a w twoim kodzie się tego nie dopaczyłem

Łukasz Drupka - 2012-04-02 16:43:21

Pierwsze trzeba na petli while z tym że argumenty podajesz przed petlą a potem w petli.
jeżeli zrobicie to do while to zawsze bedzie jeden obieg nawet jak podacie kwadrat.

Co do drugiego to jest nie sprecyzowane czy trzeba dodać elementy wektora o wartościach parzystych czy wartości o parzystych numerach elementu wektora.

zad 3


#include <iostream>
using namespace std;
int main()
{
const int max=100;
float Y[max][max], suma;
int i,j,n,m;
cout<<"podaj liczbe wierszy:";
cin>>n;
cout<<"podaj liczbe kolumn:";
cin>>m;
for (i=0;i<n;i++)
for(j=0;j<m;j++)
{
   cout<<"wprowadz element Y("<<i+1<<','<<j+1<<"):";
   cin>>Y[i][j];
}
for (i=1;i<n;i++)
for(j=0;j<m;j++)
suma+=Y[i][j];

cout<<suma;
system ("pause");
}

MateuszJarosz - 2012-04-02 17:37:09

Słabo paczysz Kamilu ostatnia petla for sumuje parzyste.

maciejdrazek - 2012-04-02 18:14:29

napiszcie dokładnie to pierwsze, bo nie wiem gdzie argumenty dac, żeby mi zapetlilo ladnie ;p

Kamil Kluz - 2012-04-02 20:30:50

moglby ktos te zadania napiasac poprawnie? w 2  chyba chodzilo o zliczanie wartosci parzystych

Łukasz Drupka - 2012-04-02 21:52:43

Zad 1
{
float a,b;

cout<<"podaj a:";
cin>>a;
cout<<"podaj b";
cin>>b;

while(a!=b)
{
cout<<"pole ="<<a*b<<endl;
cout<<"podaj a:";
cin>>a;
cout<<"podaj b";
cin>>b;
}
}

nie kompilowałem ale powinno działać

Kamil Kluz - 2012-04-02 22:09:41

hmm albo mi sie wydaje albo podawanie a i b powino byc w petli?

zad. 1 to bym zrobił tak:

Kod:

#include <iostream>
using namespace std;
int main()
{
float a,b,polepowierzchni;

do
{
cout<<"podaj bok a:";
cin>>a;
cout<<"podaj bok b";
cin>>b;
polepowierzchni=a*b;
if (a!=b)
cout<<"S="<<polepowierzchni<<endl;
else cout<<"podales dwie takie same dane!"<<endl;
}
while (a!=b)

return 0;
}
GotLink.plmaterace koło materace janpol materace hilding