Przekazywanie parametrów, struktura programu

Pomoc: Przekazywanie parametrów za pomocą wskaźników - uwaga na tablice

Przykład:

#include <iostream.h>

#include <math.h>

*include <conio.h>

void wprowadz(int *a, int *n)

{

cout<<"n="; cin>>*n;

for (int i=1; i<=*n; i++)

{

cout <<"a["<<i<<"]="; cin >>a[i];

}

}

//************************************************

void wariancja(int *a, int *n, float *war)

{

float sr=0;

for (int i=1; i<=*n; i++)

sr+=a[i];

sr/=*n;

*war=0;

for (int i=1; i<=*n; i++)

*war=*war+(a[i]-sr)*(a[i]-sr);

*war=sqrt(*war/(*n));

}

//************************************************

main()

{ int n,a[10];

float war;

wprowadz(a,&n);

wariancja(a,&n,&war);

cout <<"wariancja= "<<war;

getchar();

}

Problem: jaka jest budowa programu w C/C++

Można i tak!!!!

#include <iostream.h>

#include <math.h>

#include <conio.h>

int a[10], n; float war;

void wprowadz(); //Zapowiedź funkcjiprototyp funkcjideklaracja funcji

void wariancja();

main()

{

wprowadz();

wariancja();

cout <<"wariancja= "<<war;

getchar();

}

void wprowadz()

{

cout<<"n="; cin>>n;

for (int i=1; i<=n; i++)

{

cout <<"a["<<i<<"]="; cin >>a[i];

}

}

//************************************************

void wariancja()

{

float sr=0;

for (int i=1; i<=n; i++)

sr+=a[i];

sr/=n;

war=0;

for (int i=1; i<=n; i++)

war=war+(a[i]-sr)*(a[i]-sr);

war=sqrt(war/n);

}

Problem: jaka jest teraz struktura programu.

Zadanie 0. Zmodyfikuj program tak, by zawierał wywołanie przez wskaźniki a nie przez zmienne globalne oraz by zawierał także zapowiedź i wywołanie funkcji średnia.

Uwaga: Pokazane metody (trzy ostatnie zajęcia) można dowolnie łaczyć.

Zadanie 1. Dana jest tablica z elementami elementami strukturze: firma, adres, zysk. Napisz program, który:

Uwaga:

Porównywanie ciągów: funkcja strcmp z biblioteki string.h

Przykład

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <iostream.h>

#include <conio.h>

//#include <string.h>

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

char a[10];

char b[10];

cin>>a;

cin>>b;

int c=strcmp(a,b;

//c== gdy ciągi są równe, !=0 gdy jest różnica

cout<<c;

getch();

return 0;

}

//---------------------------------------------------------------------------

Zadanie 2.Dany jest wektor n-elementowy. Napisz program obliczający normę:

Zadanie 3. Dana jest funkcja f(x)=2x3-3. Korzystając z metody bisekcji napisz program znajdujący miejsce zerowe. Metoda bisekcji: Internet, tablica. Jak to zadanie rozwiązać, gdy mamy kilka określonych funkcji (menu). Jak to zadanie rozwiązać dla dowolnej funkcji (???).

Zadanie 4.

Stablicuj funkcję f(x)=2x+3 dusoponując: