Witam! Tak jak w temacie. Pisze sobie program który ma za zadanie:
- utworzyć dynamiczną tablicę 12 elementową
- zapełnić ją liczbami losowymi
- rozszerzyć do 24 elementów tak, że elementy podzielne przez 2 mają zostać powiększone o 2, podzielne przez 5 - pomniejszone o 3, a reszta ma zostać pomniejszona o 1 tak, żeby każdemu elementowi n odpowiadał element n+12
- posortować malejąco
- wypisać wszystkie 3 tablice
I jestem teraz na etapie mniej wiecej podpunktu 3:P
// program 24.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <iomanip>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int n = 12; // tablica o 12 elementach
int *tab = new int[n];
srand ( time(NULL) );
cout << "Wypelniamy tablice!" << endl;
for(int i=0; i<n; i++)
{
tab[i] = rand() % 100; // funkcja losujaca liczby
}
cout << endl << endl;
cout << "Wyswietlamy tablice!" << endl;
for(int i=0; i<n; i++)
{
cout << setw(4) << tab[i];
}
cout << endl << endl;
delete[] tab; // usuwamy stara tablice tab o starym rozmiarze
n = 24; // zmieniamy rozmiar tablicy z 12 na 24 elementy
int *tab2=new int[n]; // tworzymy nowa tablice dynamiczna o nowym rozmiarze
for(int i=0; i<n; i++)
{
tab2[i] = rand() % 100; // losujemy nowe liczby
}
cout << endl << endl;
cout << endl << "Druga tablica! " << endl;
for(int i=0; i<n; i++)
{
cout << setw(4) << tab2[i]; // wyswietlamy nowa , wieksza tablice
}
cout << endl << endl;
cout << endl << "Tablica ktorej elementy podzielne % 2 sa zwiekszone o 2 a % 5 zmniejszone o 3 a reszta zwiekszona o 1";
for(int i=0; i<n; i++)
{
if(tab2[i] % 2 == 0 && tab2[i] != 0)
{
tab2[i] = tab2[i] + 2; // elementy podzielne przez 2 zwieksza o 2
}
if(tab2[i] % 5 ==0 && tab2[i] != 0)
{
tab2[i] = tab2[i] - 3; // elementy podzielne przez 5 zmniejsza o 3
}
else
{
tab2[i] = tab2[i] + 1;
}
}
cout << endl << endl;
for(int i=0; i<n; i++)
{
cout << setw(4) << tab2[i]; // wyswietlamy nowa , wieksza tablice
}
cout << endl << endl;
delete[] tab2; // usuwamy druga tablice
system("pause");
return 0;
}
Zrobilem tak, że usuwam stara tablice o rozmiarze 12 elementow i tworze nowa o rozmiarze 24 elementow ale nie tak to ma być bo musze przepisac te wartosci ze starej tablicy do tej nowej. Jak to zrobic?
PS. W jezyku C jest realloc ale chce to w C++ napisac
Pozdrawiam i prosze o pomoc