C++ Programi za Delo z Nizi: Vnos, Izpis in Obdelava

Computer science5.23 KB

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

Download

PDF Word HTML