zonkaLT
-
Pranešimai
3 -
Užsiregistravo
-
Lankėsi
-
Atsiliepimai
0%
Turinio tipas
Forumas
Kalendorius
Parduotuvė
Akademija
Skelbimai
zonkaLT Pranešimai
-
-
#include <fstream>
using namespace std;
//--- Globalieji parametrai ---
const char CDfd[] = "Duomenys.txt";
const char CDfr[] = "Rezultatas.txt";
const int CMax = 104;
//--- Funkciju parametrai ---
void Skaityti(char A[], int B[], int &n);
void Spausdinti(int R[], int r, int G[], int g, int M[], int m, int J[], int j);
void MSdydis(char A[], int B[], int n, int &r, int &g, int &m, int &j); // Masyvo spalvu dydis
int Perrasymas(char A[], int B[], int n, int R[], int G[], int M[], int J[]); // Masyvo spalvu perrasymas
int Rikiavimas(int R[], int r, int G[], int g, int M[], int m, int J[], int j); // Masyvu rikiavimas didjancia tvarka
//--- Pagrindine Funkcija ---
int main (){
char A[CMax];
int B[CMax], n;
Skaityti(A, B, n);
int r = 0, g = 0, j = 0, m = 0;
MSdydis(A, B, n, r, g, m, j); // Masyvo spalvu dydis
int R[r], G[g], M[m], J[j];
Perrasymas(A, B, n, R, G, M, J); // Masyvo spalvu perrasymas
Rikiavimas(R, r, G, g, M, m, J, j); // Masyvu rikiavimas didjancia tvarka
Spausdinti(R, r, G, g, M, m, J, j);
return 0;
}
//--- Funkcijos ---
void Skaityti(char A[], int B[], int &n){
ifstream fd(CDfd);
fd >> n;
for(int i = 0; i < n; ++i){
fd >> A[i] >> B[i];
}
fd.close();
}
void Spausdinti(int R[], int r, int G[], int g, int M[], int m, int J[], int j){
ofstream fr(CDfr);
int r1 = 0, g1 = 0, m1 = 0, j1 = 0;
if(r > 2){
for(int i = 0; i < r; ++i){
int x = i, kiek = 1;
while(R[x] + 1 == R[x + 1]){
++kiek;
++x;
}
if(kiek > 2){
for(int j = i; j < i + kiek; ++j){
fr << "R " << R[j] << " ";
}
fr << endl;
i += kiek - 1;
++r1;
}
}
}
if(g > 2){
for(int i = 0; i < g; ++i){
int x = i, kiek = 1;
while(G[x] + 1 == G[x + 1]){
++kiek;
++x;
}
if(kiek > 2){
for(int j = i; j < i + kiek; ++j){
fr << "G " << G[j] << " ";
}
fr << endl;
i += kiek - 1;
++g1;
}
}
}
if(m > 2){
for(int i = 0; i < m; ++i){
int x = i, kiek = 1;
while(M[x] + 1 == M[x + 1]){
++kiek;
++x;
}
if(kiek > 2){
for(int j = i; j < i + kiek; ++j){
fr << "M " << M[j] << " ";
}
fr << endl;
i += kiek - 1;
++m1;
}
}
}
if(j > 2){
for(int i = 0; i < j; ++i){
int x = i, kiek = 1;
while(J[x] + 1 == J[x + 1]){
++kiek;
++x;
}
if(kiek > 2){
for(int k = i; k < i + kiek; ++k){
fr << "J " << J[k] << " ";
}
fr << endl;
i += kiek - 1;
++j1;
}
}
}
if(r1 < 1 && g1 < 1 && m1 < 1 && j1 < 1) fr << "Nera";
fr.close();
}
void MSdydis(char A[], int B[], int n, int &r, int &g, int &m, int &j){ // Masyvo spalvu dydis
for(int i = 0; i < n; ++i){
if(A[i] == 'R') ++r;
if(A[i] == 'G') ++g;
if(A[i] == 'M') ++m;
if(A[i] == 'J') ++j;
}
}
int Perrasymas(char A[], int B[], int n, int R[], int G[], int M[], int J[]){ // Masyvo spalvu perrasymas
int rr = 0, gg = 0, mm = 0, jj = 0;
for(int i = 0; i < n; ++i){
if(A[i] == 'R'){
R[rr] = B[i];
++rr;
}
if(A[i] == 'G'){
G[gg] = B[i];
++gg;
}
if(A[i] == 'M'){
M[mm] = B[i];
++mm;
}
if(A[i] == 'J'){
J[jj] = B[i];
++jj;
}
}
}
int Rikiavimas(int R[], int r, int G[], int g, int M[], int m, int J[], int j){ // Masyvu rikiavimas didjancia tvarka
for(int i = 0; i < r - 1; ++i){ // Raudona
for(int j = i + 1; j < r; ++j){
if(R[i] > R[j]){
int temp = R[i];
R[i] = R[j];
R[j] = temp;
}
if(R[i] == R[j]){
int temp = R[j];
R[j] = R[r - 1];
R[r - 1] = temp;
}
}
}
for(int i = 0; i < r; ++i){ // Raudona, jeigu kartojasi
if(R[i] == R[i + 1]){
int x = i + 1;
while(x < r - 1){
int temp = R[x];
R[x] = R[x + 1];
R[x + 1] = temp;
++x;
}
}
}
for(int i = 0; i < g; ++i){ // Geltona
for(int j = i + 1; j < g; ++j){
if(G[i] > G[j]){
int temp = G[i];
G[i] = G[j];
G[j] = temp;
}
}
}
for(int i = 0; i < g; ++i){ // Geltona, jeigu kartojasi
if(G[i] == G[i + 1]){
int x = i + 1;
while(x < g - 1){
int temp = G[x];
G[x] = G[x + 1];
G[x + 1] = temp;
++x;
}
}
}
for(int i = 0; i < m; ++i){ // Melyna
for(int j = i + 1; j < m; ++j){
if(M[i] > M[j]){
int temp = M[i];
M[i] = M[j];
M[j] = temp;
}
}
}
for(int i = 0; i < m; ++i){ // Melyna, jeigu kartojasi
if(M[i] == M[i + 1]){
int x = i + 1;
while(x < m - 1){
int temp = M[x];
M[x] = M[x + 1];
M[x + 1] = temp;
++x;
}
}
}
for(int i = 0; i < j; ++i){ // Juoda
for(int k = i + 1; k < j; ++k){
if(J[i] > J[k]){
int temp = J[i];
J[i] = J[k];
J[k] = temp;
}
}
}
for(int i = 0; i < j; ++i){ // Juoda, jeigu kartojasi
if(J[i] == J[i + 1]){
int x = i + 1;
while(x < j - 1){
int temp = J[x];
J[x] = J[x + 1];
J[x + 1] = temp;
++x;
}
}
}
} -
#include <fstream>
using namespace std;
//--- Globalieji parametrai ---
const char CDfd[] = "Duomenys.txt";
const char CDfr[] = "Rezultatas.txt";
const int CMaxN = 100;
const int CMaxM = 100;
//--- Funkciju parametrai ---
void Skaityti(int A[], int B[], int &n, int &m);
void Spausdinti(int A[], int B[], int &n, int &m);
int Tikrinimas(int A[], int B[], int &n, int &m);
int Rikiavimas(int A[], int B[], int n, int m);
//--- Pagrindine Funkcija ---
int main (){
int A[CMaxN], B[CMaxM], n, m;
Skaityti(A, B, n, m);
Tikrinimas(A, B, n, m);
Rikiavimas(A, B, n, m);
Spausdinti(A, B, n, m);
return 0;
}
//--- Funkcijos ---
void Skaityti(int A[], int B[], int &n, int &m){
ifstream fd(CDfd);
fd >> n;
if(n > 100 || n < 1){
n = -1;
}
for(int i = 0; i < n; ++i){
fd >> A[i];
}
fd >> m;
if(m > 100 || m < 1){
m = -1;
}
for(int i = 0; i < m; ++i){
fd >> B[i];
}
fd.close();
}
void Spausdinti(int A[], int B[], int &n, int &m){
ofstream fr(CDfr);
if(n > 100 || m > 100 || n < 0 || m < 0){
fr << "Patikrinkite ivestus duomenis." << endl;
fr << "n [1 - 100], m [1 - 100]";
fr.close();
}
if(m > 0){
fr << "Reikalingi varztai:" << endl;
while(m > 0){
int kiek = 0, x = 0;
for(int i = 0; i < m; ++i){
if(B[i] == B[x]) ++kiek;
}
fr << kiek << " " << B[0] << endl;
while(kiek > 0){
for(int i = 0; i < m; ++i) B[i] = B[i + 1];
--m;
--kiek;
}
}
}
else fr << "Varztu nereikia." << endl;
if(n > 0){
fr << "Reikalingos verzles:" << endl;
while(n > 0){
int kiek = 0, x = 0;
for(int i = 0; i < n; ++i){
if(A[i] == A[x]) ++kiek;
}
fr << kiek << " " << A[0] << endl;
while(kiek > 0){
for(int i = 0; i < n; ++i) A[i] = A[i + 1];
--n;
--kiek;
}
}
}
else fr << "Verzliu nereikia.";
fr.close();
}
int Tikrinimas(int A[], int B[], int &n, int &m){
for(int i = 0; i < n; ++i){
int x = 0;
while(x < m){
if(A[i] == B[x]){
for(int j = i; j < n; ++j) A[j] = A[j + 1];
--n;
for(int j = x; j < m; ++j) B[j] = B[j + 1];
--m;
x = 0;
}
else ++x;
}
}
}
int Rikiavimas(int A[], int B[], int n, int m){
for(int i = 0; i < n - 1; ++i){
for(int j = i + 1; j < n; ++j){
if(A[i] > A[j]){
int temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}
}
for(int i = 0; i < m - 1; ++i){
for(int j = i + 1; j < m; ++j){
if(B[i] > B[j]){
int temp = B[i];
B[i] = B[j];
B[j] = temp;
}
}
}
}
C++ Uždavinys (Kas yra vadas?)
Programuotojų kampas
Atrašyta
// #6 Kas yra vadas?
#include <fstream>
using namespace std;
//--- Globalieji dyziai ---
const char CDfv[] = "Duomenys.txt";
const char CRfv[] = "Rezultatas.txt";
const int CMax = 50;
//---Funkciju prototipai---
void Skaityti(const char CDfv[], int &a, int &b);
void Spausdinti(const char CRfv[], int a);
int Numeris(int a, int b);
//--- Programos veiksmai ---
int main (){
int n, k, nr;
Skaityti(CDfv, n, k);
ofstream fr;
fr.open(CRfv);
fr.close();
nr = Numeris(n, k);
Spausdinti(CRfv, nr);
return 0;
}
//--- Funkcijos ---
void Skaityti(const char CDfv[], int &a, int &b){
ifstream fd(CDfv);
fd >> a >> b;
fd.close();
}
void Spausdinti(const char CRfv[], int a){
ofstream fr(CRfv);
fr << a;
fr.close();
}
int Numeris(int a, int b){
int A[a], x;
for(int i = 0; i < a; ++i){
A[i] = i + 1;
}
for(int i = 0; a != 1; ++i){
for(int x = 1; x < b; ++x){
if(i == a) i = 0;
++i;
}
if(i == a) i = 0;
for(int j = i; j < a; ++j) A[j] = A[j + 1];
--a;
--i;
}
return A[0];
}