Informatică, întrebare adresată de DerekHale, 8 ani în urmă

A) Se consideră tabloul unidimensional A[1..n] cu elemente numere întregi. Să se compună un
program care va transcrie la începutul tabloului B[1..n] în ordine crescătoare elementele lui
negative, apoi ,în continuare, pe cele nenegative în ordine descrescătoare.
De exemplu, având A = (4, -8, 7, -6, 0, -7, 5), se va obţine B = (-8, -7, -6, 7, 5, 4, 0).
B) Informaţia despre fiecare fel de marfă conţine:
- denumirea mărfii;
- preţul;
- anul fabricării;
- cantitatea(în unităţi condiţionale);
De compus programul de formare a listelor ordonate după fiecare din parametri 1), 2) şi 3)
DE REZOLVAT IN CODEBLOCKS (C++)

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

A)

#include <iostream>

#include <algorithm>

using namespace std;

int A[10000], B[10000];

int main(){

int n;

cin >> n;

for(int i = 1; i <= n; i++)

cin >> A[i];

sort(&A[1], &A[n+1]);

int i;

for(i = 1; i <= n && A[i] < 0; i++);

reverse(&A[i], &A[n+1]);

for(i = 1; i <= n; i++)

B[i] = A[i];

for(i = 1; i <= n; i++)

cout << B[i] << " ";

}

B)

#include <algorithm>

#include <iostream>

#include <string>

using namespace std;

struct marfa{

string denumire;

double pret;

int an;

int cantitate;

};

bool cmp_denumire(marfa a, marfa b){

return a.denumire < b.denumire;

}

bool cmp_pret(marfa a, marfa b){

return a.pret < b.pret;

}

bool cmp_an(marfa a, marfa b){

return a.an < b.an;

}

marfa vec[10000];

int main(){

int n;

cin >> n;

for(int i = 0; i < n; i++){

cout << "Denumire:"; cin >> vec[i].denumire;

cout << "Pret:"; cin >> vec[i].pret;

cout << "Anul fabricarii:"; cin >> vec[i].an;

cout << "Cantitate:"; cin >> vec[i].cantitate;

}

sort(&vec[0], &vec[n], cmp_denumire);

cout << "Sortat dupa denumire:\n";

for(int i = 0; i < n; i++){

cout << vec[i].denumire << " " << vec[i].pret << " " << vec[i].an << " " << vec[i].cantitate<<"\n";

}

sort(&vec[0], &vec[n], cmp_pret);

cout << "Sortat dupa pret:\n";

for(int i = 0; i < n; i++){

cout << vec[i].denumire << " " << vec[i].pret << " " << vec[i].an << " " << vec[i].cantitate<<"\n";

}

sort(&vec[0], &vec[n], cmp_an);

cout << "Sortat dupa an:\n";

for(int i = 0; i < n; i++){

cout << vec[i].denumire << " " << vec[i].pret << " " << vec[i].an << " " << vec[i].cantitate<<"\n";

}

}


DerekHale: A se deschide consola si nimic nu se face.
B se deschide si totul este ok
CinevaFaraNume: I-ai dat numere?
DerekHale: Nu pot scrie nimic
DerekHale: Gata, am gasit. Era greseala mea. Mersi)
Alte întrebări interesante