24.11.2.24011750. Napisati program koji traži od korisnika da unese niz rečenica, pri čemu se broj rečenica prethodno unosi sa tastature. Za svaku unesenu rečenicu dinamički alocirati prostor, uz vođenje evidencije o adresi svake alocirane rečenice u nizu pokazivača na početke svake od rečenica. Nakon toga, treba ispisati unesene rečenice sortirane u obrnuti abecedni poredak. Za sortiranje koristiti koristi ugrađena funkcija “sort“ iz biblioteke “algorithm“.

Opis rješenja:

Listing programa:

#include <iostream>
#include <conio.h>
#include <cstring>
#include <algorithm>
using namespace std;

bool k(char *u,char *v){
    return strcmp(u,v)>0;
}

using namespace std;
int main(){
int n1,n;
cin>>n1;
n=n1;
cin.ignore(100,'\n');
const int c(n);
char *reci[c];
try{
for(int i=0;i<c;i++)
    reci[i]=0;
for(int i=0;i<c;i++){
    char pom[100];
    cin.getline(pom,sizeof pom);
    reci[i]=new char[strlen(pom)+1];
    strcpy(reci[i],pom);
    }
sort(reci,reci+c,k);
cout<<endl;
for(int i=0;i<c;i++)
    cout<<reci[i]<<endl;
}
catch(...){
cout<<"memorija?";
for(int i=0;i<c;i++)
    delete [] reci[i];
}
for(int i=0;i<c;i++)
    delete [] reci[i];
getch();
return 0;
}

Ispis na ekranu:

Riješeni zadaci 2    Index