C++. Napisz program w którym umieścisz 2 tablice 100-elementowe. Po przesortowaniu dane z pierwszej tablicy zastąpią te z drugiej. Obrazowo: t[1]=1 2 3 4 5 6 7 ... t[2]=q w e r t y u po przesortowaniu t[2]=1 2 3 4 5 6 7
Roman300#include <iostream> using namespace std; int main() { const int pola = 100; int first_array[pola] = {0,29,98,17,66,845,264,23,2,10,301,29,58,17,66,25,84,913,102,61,150,19,68,87,16,105,234,73,92,11,160,19,18,17,26,95,444,213,212,211,210,219,218,217,216,215,214,63,402,31,230,139,608,307,166,535,624,363,262,251,300,349,48,447,76,65,44,123,622,6661,3100,8119,528,957,1006,6845,2004,313,32,21,140,-9,-8,-57,661,54,481,63,102,251,90,319,218,957,-126,35,400,312,23,10}; int second_array[pola]; bool ok = true; for(int j=0;j<pola;j++) { for(int i=0;i<(pola-1);i++) /*pola-1 by nie wyjechać poza tablicę*/ { if(first_array[i] > first_array[i+1]) { int a = first_array[i]; first_array[i] = first_array[i+1]; first_array[i+1] = a; ok=false; } } if(ok == true) /*Sprawdzam czy tablica juz jest uporzadkowana*/ break; else ok = true; }
for(int i=0;i<pola;i++) { second_array[i]=first_array[i]; /*Opcjonalne wyświetlenie wyniku*/ cout<<" "<<second_array[i]<<" "; } } Kod sortuje metodą bąbelkową pierwszą tablicę i kopiuje zawartość do drugiej. Liczby w pierwszej tablicy są losowe. Druga tablica może być pusta i mieć minimum tyle pól ile tablica pierwsza. Jeżeli druga tablica ma być char-em można rzutować: second_array[i]=static_cast<char>(first_array[i]+48); ale liczby wejściowe nie mogą być większe niż 9 i mniejsze od 0 (kod ANSI)
1 votes Thanks 0
panienkaZokienka
te 100 elementów napisanych przez ciebie nie może być losowo wygenerowane?
using namespace std;
int main()
{
const int pola = 100;
int first_array[pola] = {0,29,98,17,66,845,264,23,2,10,301,29,58,17,66,25,84,913,102,61,150,19,68,87,16,105,234,73,92,11,160,19,18,17,26,95,444,213,212,211,210,219,218,217,216,215,214,63,402,31,230,139,608,307,166,535,624,363,262,251,300,349,48,447,76,65,44,123,622,6661,3100,8119,528,957,1006,6845,2004,313,32,21,140,-9,-8,-57,661,54,481,63,102,251,90,319,218,957,-126,35,400,312,23,10};
int second_array[pola];
bool ok = true;
for(int j=0;j<pola;j++)
{
for(int i=0;i<(pola-1);i++) /*pola-1 by nie wyjechać poza tablicę*/
{
if(first_array[i] > first_array[i+1])
{
int a = first_array[i]; first_array[i] = first_array[i+1]; first_array[i+1] = a; ok=false;
}
}
if(ok == true) /*Sprawdzam czy tablica juz jest uporzadkowana*/
break;
else ok = true;
}
for(int i=0;i<pola;i++)
{
second_array[i]=first_array[i];
/*Opcjonalne wyświetlenie wyniku*/
cout<<" "<<second_array[i]<<" ";
}
}
Kod sortuje metodą bąbelkową pierwszą tablicę i kopiuje zawartość do drugiej.
Liczby w pierwszej tablicy są losowe. Druga tablica może być pusta i mieć minimum tyle pól ile tablica pierwsza.
Jeżeli druga tablica ma być char-em można rzutować:
second_array[i]=static_cast<char>(first_array[i]+48);
ale liczby wejściowe nie mogą być większe niż 9 i mniejsze od 0 (kod ANSI)