Treść zadania:
Napisz program, w którym w funkcji main zostaną stworzone (operatorem new) trzy tablice typu double o rozmiarach co najmniej 20 elementów. Elementy pierwszych dwóch tablic załaduj jakimiś wartościami. W programie powinna być funkcja, która przyjmie wysłane do niej te trzy tablice. Funkcja ta ma na elementach tych tablic wykonać operację mnożenia - taką, że i-ty elementu tablicy pierwszej zostanie pomnożony przez i-ty element tablicy drugiej. Rezultat ma zostać wpisany do i-tego elementu tablicy trzeciej.
W funkcji main wypisz na ekranie zawartość poszczególnych elementów tablicy pierwszej,drugiej i trzecie, a następnie skasuj te tablice.
Daje mój kod. Chciałem spytać czy dobrze to zrobiłem ? Bo przy usuwaniu tablic pojawia mi się okienko konsolowe z błędem Microsoft C++ Deubug library.Zdjęcie:
Kod:
#include <iostream>
using namespace std;
void zaladuj(double *wskaznik,int ile);
void operacja(double *wsk, double *wsk1, double *wsk2, int ile);
int main()
{
double *wskaznik0, *wskaznik1, *wskaznik2;
wskaznik0 = new double [20];
wskaznik1 = new double [20];
wskaznik2 = new double [20];
zaladuj(wskaznik0,20);
zaladuj(wskaznik1,20);
operacja(wskaznik0,wskaznik1,wskaznik2,20);
for(int i = 0; i < 20; i ++, wskaznik0++, wskaznik1++, wskaznik2++)
{
cout << *wskaznik0 << "\t" << *wskaznik1 << "\t" << *wskaznik2 << endl;
}
delete[] wskaznik0;
delete[] wskaznik1;
delete[] wskaznik2;
system("pause");
}
void zaladuj(double *wskaznik,int ile)
{
for(int i = 0; i < ile ; i++, wskaznik++)
{
*wskaznik = i;
}
}
void operacja(double *wsk, double *wsk1, double *wsk2, int ile)
{
for(int i = 0; i < ile; i ++, wsk++, wsk1++, wsk2++)
{
*wsk2 = (*wsk) * (*wsk1);
}
}