Forum » Programiranje » C++ palindrom program
C++ palindrom program
i33a ::
Poizkušal sem napisati palindrom program, a ne deluje tako kot bi si želel. Opazite kakšno napako v kodi, zaradi katere daje napačne rezultate?
  
Lp
#include <stdio.h>
#include <string.h>
int main ()
{
  int a;
  char in[75];
  int b;
  gets (in);
  b = strlen(in);
  bool palindrom = true;
  for(int i = 0; i <= b; i++){
        if(in[i] != in[b-i]){
             palindrom = false;
             }
        }
        if(palindrom == true){
             printf("Je palindrom");
             }
             else{
                  printf("Ni palindrom");
                  }
        
  scanf("%d", &a);
  return 0;
}
Lp
robbe ::
strlen ti vrača dolžino niza in ker ima niz prvi znak v tableli na mestu 0, ima zadnjega na strlen-1.
Pa zamik popravi :)
Pa zamik popravi :)
foxstyla ::
private void button1_Click(object sender, EventArgs e)
{
string palindrom = "";
string beseda = textBox1.Text;
for (int stevec = beseda.Length - 1 ; stevec >= 0; stevec--)
{
MessageBox.Show(palindrom += beseda[stevec]);
}
}
 
 
Moja rešitev palindroma.
{
string palindrom = "";
string beseda = textBox1.Text;
for (int stevec = beseda.Length - 1 ; stevec >= 0; stevec--)
{
MessageBox.Show(palindrom += beseda[stevec]);
}
}
Moja rešitev palindroma.
smoke ::
Zakaj bi komplicirali:
 
  
 
:)
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char argv[])
{
    string str;
    cout << "Vpisi string: ";
    getline(cin, str);
    auto i = str.begin();
    auto j = str.rbegin();
    auto sredina = str.begin() + (str.length() / 2);
    while(i != sredina) {
        if (*i != *j) {
            cout << "Ni" << endl;
            return -1;
        }
        ++i; ++j;
    }
    cout << "Je" << endl;
    return 0;
}
:)
mallard ::
Se gremo thread digging? :)
 
  
#include <iostream>
#include <string>
#include <algorithm>
bool je_palindrom(const std::string& str)
{
    return std::equal(str.begin(),
                      str.begin() + str.length()/2 + 1,
                      str.rbegin());
}
int main()
{
    std::string niz;
    while (std::getline(std::cin, niz))
        std::cout << (je_palindrom(line) ? "Je" : "Ni") << " palindrom\n";
}
 Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | Niti - segmentation faultOddelek: Programiranje | 2116 (963) | galu | 
| » | [C] ProcesiOddelek: Programiranje | 1088 (997) | Cvenemir | 
| » | [C] Vsota števil v poljuOddelek: Programiranje | 1428 (1366) | Cvenemir | 
| » | c++ nalogeOddelek: Programiranje | 2984 (2608) | l0g1t3ch | 
| » | C osnovaOddelek: Programiranje | 1651 (1166) | RunoTheDog |