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
|
|