C++ Programi za Delo z Nizi: Vnos, Izpis in Obdelava
C++ Programi za Delo z Nizi
Spodaj so zbrani primeri programov v jeziku C++, ki obdelujejo nize: vnos, izpis, obračanje, primerjavo, štetje besed, zamenjavo in izbris znakov ter preverjanje palindroma.
1) Program, ki prebere niz in ga izpiše
Za vnos in izpis uporabi funkcijo.
#include <iostream>
#include <string>
using namespace std;
string vpis(string niz){
cout << "Vnesi niz: ";
getline(cin, niz);
return niz;
}
void izpis(string niz){
cout << "Vnesen niz je: " << niz;
}
int main()
{
string vnesenaBeseda;
vnesenaBeseda = vpis(vnesenaBeseda);
izpis(vnesenaBeseda);
return 0;
}2) Program, ki prebere niz in ga izpiše v obratnem vrstnem redu
#include <iostream>
#include <string>
using namespace std;
int main(){
string vnesenaBeseda;
getline(cin, vnesenaBeseda);
int dolzina = vnesenaBeseda.length();
for(int i = dolzina; i > 0; i--){
cout << vnesenaBeseda[i - 1];
}
return 0;
}3) Program, ki prebere dva niza in ugotovi, kateri niz je daljši
#include <iostream>
#include <string>
using namespace std;
int main(){
string prviNiz;
string drugiNiz;
getline(cin, prviNiz);
getline(cin, drugiNiz);
int dolzina1 = prviNiz.length();
int dolzina2 = drugiNiz.length();
if(dolzina1 > dolzina2)
cout << "Prvi niz je daljši.";
else if(dolzina1 == dolzina2)
cout << "Niza sta enako dolga.";
else
cout << "Drugi niz je daljši.";
return 0;
}4) Program, ki združi dva niza in šteje besede v tretjem nizu
Program prebere dva niza, ju združi v tretji niz, ga izpiše in izpiše tudi število besed. Za določanje števila besed uporabi funkcijo.
#include <iostream>
#include <string>
using namespace std;
int stetjeBesed(string niz){
int dolzinaNiza = niz.length();
int stevecBesed = 1; // Pred prvo besedo ni presledka, zato je tu 1
for(int i = dolzinaNiza; i >= 0; i--){
if(niz[i] == ' ')
stevecBesed++;
}
cout << "Število besed v združenem nizu je " << stevecBesed;
return stevecBesed;
}
int main(){
string prviNiz;
string drugiNiz;
getline(cin, prviNiz);
getline(cin, drugiNiz);
string zdruzenNiz = prviNiz + drugiNiz;
cout << "Združen niz je: " << zdruzenNiz << endl;
stetjeBesed(zdruzenNiz);
return 0;
}5) Program, ki izpiše število besed v nizu
#include <iostream>
#include <string>
using namespace std;
int stetjeBesed(string niz){
int dolzinaNiza = niz.length();
int stevecBesed = 1; // Pred prvo besedo ni presledka, zato je tu 1
for(int i = dolzinaNiza; i >= 0; i--){
if(niz[i] == ' ')
stevecBesed++;
}
cout << "Število besed v nizu je " << stevecBesed;
return stevecBesed;
}
int main(){
string vnesenaBeseda;
getline(cin, vnesenaBeseda);
stetjeBesed(vnesenaBeseda);
return 0;
}6) Program, ki zamenja vse znake »a« z »*«
#include <iostream>
#include <string>
using namespace std;
void zamenjava(string niz){
int dolzinaNiza = niz.length();
for(int i = dolzinaNiza; i >= 0; i--){
if(niz[i] == 'a' || niz[i] == 'A')
niz[i] = '*';
}
cout << niz;
}
int main(){
string vnesenaBeseda;
getline(cin, vnesenaBeseda);
zamenjava(vnesenaBeseda);
return 0;
}7) Program, ki izbriše vse znake »a«
#include <iostream>
#include <string>
using namespace std;
void izbris(string niz){
int dolzinaNiza = niz.length();
for(int i = dolzinaNiza; i >= 0; i--){
if(niz[i] == 'a' || niz[i] == 'A')
niz[i] = ' ';
}
cout << niz;
}
int main(){
string vnesenaBeseda;
getline(cin, vnesenaBeseda);
izbris(vnesenaBeseda);
return 0;
}8) Program, ki izpiše število besed v nizu (ponovna različica)
#include <iostream>
#include <string>
using namespace std;
int stetjeBesed(string niz){
int dolzinaNiza = niz.length();
int stevecBesed = 1; // Ker pred prvo besedo ni presledka, je tu 1
for(int i = dolzinaNiza; i >= 0; i--){
if(niz[i] == ' ')
stevecBesed++;
}
cout << "Število besed v nizu je " << stevecBesed;
return stevecBesed;
}
int main(){
string vnesenaBeseda;
getline(cin, vnesenaBeseda);
stetjeBesed(vnesenaBeseda);
return 0;
}9) Program, ki ugotovi, ali je beseda palindrom
Uporabi funkcijo.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string beseda;
getline(cin, beseda);
int y = 0;
for(int x = beseda.length(); x >= 0; x--)
{
if(beseda[x - 1] == beseda[y])
{
}
else
{
cout << "Ni palindrom.";
return 0;
}
y++;
}
cout << "Je palindrom.";
return 0;
}