Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Scalando.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <stdlib.h>
- #include <conio.h>
- #include <cstdlib>
- #define MAX 100;
- using namespace std;
- void scal(double *tab_1, double *tab_2, double *tab_3, int roz_1, int roz_2)
- {
- int licznik_A = 0;
- int licznik_B = 0;
- if (tab_1[roz_1 - 1] <= tab_2[roz_2 - 1])
- {
- for (int i = 0; i<roz_1; i++)
- {
- tab_3[i] = tab_1[i];
- }
- for (int i = 0; i<roz_2; i++)
- {
- tab_3[i + roz_1] = tab_2[i];
- }
- }
- else {
- for (int i = 0; i < (roz_1 + roz_2); i++)
- {
- if (licznik_A >= roz_1)
- {
- tab_3[i] = tab_2[licznik_B];
- licznik_B++;
- }
- if (licznik_B >= roz_2)
- {
- tab_3[i] = tab_1[licznik_A];
- licznik_A++;
- }
- if (tab_1[licznik_A]>tab_2[licznik_B])
- {
- tab_3[i] = tab_2[licznik_B];
- licznik_B++;
- }
- else if (tab_2[licznik_B]>tab_1[licznik_A])
- {
- tab_3[i] = tab_1[licznik_A];
- licznik_A++;
- }
- }
- }
- }
- void scal_2(double *tab_1, double *tab_2, double *tab_3, int roz_1, int roz_2)
- {
- int licznik_B = 0;
- int i = 0;
- for (int licznik_A = 0; licznik_A<roz_1; licznik_A++)
- {
- while (tab_1[licznik_A]>tab_2[licznik_B] && licznik_B<roz_2)
- {
- tab_3[i] = tab_2[licznik_B];
- licznik_B++;
- i++;
- }
- tab_3[i] = tab_1[licznik_A];
- i++;
- }
- cout << endl;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- double ciagA[] = { 1, 2, 3, 4, 5 };
- double ciagB[] = { 6, 7, 8, 8, 8, 9 };
- double ciagC[] = { 1, 5, 7, 9 };
- double ciagD[] = { 2, 3, 4, 6, 8 };
- double ciagE[100];
- double ciagF[100];
- double tab_3[100];
- double n, m, pom = 0, liczba = 0;
- cout << "Podaj ile liczb mamy wylosowac do 1 ciagu\n";
- cin >> n;
- for (int i = 0; i<n; i++)
- {
- liczba = (rand() % 30);
- if (liczba<pom)
- {
- i--;
- }
- else
- {
- ciagE[i] = liczba;
- pom = liczba;
- }
- }
- for (int i = 0; i<n; i++)
- {
- cout << ciagE[i] << " ";
- }
- pom = 0; liczba = 0;
- cout << "Podaj ile liczb mamy wylosowac do 2 ciagu\n";
- cin >> m;
- for (int i = 0; i<m; i++)
- {
- liczba = (rand() % 30) + 0;
- if (liczba<pom)
- {
- i--;
- }
- else
- {
- ciagF[i] = liczba;
- pom = liczba;
- }
- }
- for (int i = 0; i<m; i++)
- {
- cout << ciagF[i] << " ";
- }
- int rozmiar_1 = sizeof(ciagA) / sizeof(double);
- int rozmiar_2 = sizeof(ciagB) / sizeof(double);
- int rozmiar_3 = sizeof(ciagC) / sizeof(double);
- int rozmiar_4 = sizeof(ciagD) / sizeof(double);
- int rozmiar_5 = sizeof(ciagE) / sizeof(double);
- int rozmiar_6 = sizeof(ciagF) / sizeof(double);
- scal(ciagA, ciagB, tab_3, rozmiar_1, rozmiar_2);
- cout << "\nScalona tablica 1\n";
- for (int i = 0; i<(sizeof(ciagA) / sizeof(double) + sizeof(ciagB) / sizeof(double)); i++)
- {
- cout << tab_3[i] << " ";
- }
- scal(ciagC, ciagD, tab_3, rozmiar_3, rozmiar_4);
- cout << "\nScalona tablica 2\n";
- for (int i = 0; i<(sizeof(ciagC) / sizeof(double) + sizeof(ciagD) / sizeof(double)); i++)
- {
- cout << tab_3[i] << " ";
- }
- scal_2(ciagC, ciagD, tab_3, rozmiar_3, rozmiar_4);
- cout << "\nScalona tablica 3\n";
- for (int i = 0; i<(sizeof(ciagC) / sizeof(double) + sizeof(ciagD) / sizeof(double)); i++)
- {
- cout << tab_3[i] << " ";
- }
- scal(ciagE, ciagF, tab_3, rozmiar_5, rozmiar_6);
- cout << "\nScalona tablica 4\n";
- for (int i = 0; i<(sizeof(ciagC) / sizeof(double) + sizeof(ciagD) / sizeof(double)); i++)
- {
- cout << tab_3[i] << " ";
- }
- scal_2(ciagE, ciagF, tab_3, rozmiar_5, rozmiar_6);
- cout << "\nScalona tablica 5\n";
- for (int i = 0; i<(sizeof(ciagC) / sizeof(double) + sizeof(ciagD) / sizeof(double)); i++)
- {
- cout << tab_3[i] << " ";
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment