Mała pomoc przy zadaniu z algorytmów

0

Witam,
Mam zrobić program na zajęcia z algorytmów zliczający ilość wystąpień pojedynczego znaku w tekście. Tekst tylko z liter dodatkowo ma określać na jakiej pozycji występuje ten znak. Stworzyłem takie coś :

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

int main ()
{
	char tekst[10];
	char szukany_znak;
	int ilosc = 1;
	cout << "Podaj 10 znakow\n";
	for (int i = 0; 1 < 10; i++)
	{
		cin >> tekst [i];
	}
	cout << "Podaj szukany znak: " << endl;
	cin >> szukany_znak;
	for (int i = 0; i < 10; i++)
	{
		if (szukany_znak == tekst [i]) 
		{
			ilosc += 1;
			cout  << "Szukany znak znajduje sie na pozycji: " << i + 1 << endl;
		}
	}
	cout << "Znak wystepuje " << ilosc << "razy\n";
	_getch ();
	return 0;
}

Program odpala jednak zatrzymuje na samym początku i można wprowadzać znaki w nieskończoność. Czy ktoś bardziej doświadczony może rzucić okiem i powiedzieć mi gdzie jest błąd? Będę wdzięczny za wszelką pomoc jutro zaliczenie :/

Kompilator : dev c ++

0

w pierwszej pętli ten warunek: 1 < 10 będzie zawsze prawdziwy/spełniony w nieskończoność choćby nie wiem co ;)

0

Znalazłem błąd :) Dzieki za zwrócenie mi na to uwagi :)

0
  • Nie musisz ograniczać się do char[]. Skorzystaj z std::string;
  • Nie musisz używać conio.h;
  • Nie musisz używać _getch(); Nowoczesne IDE posiada możliwość zatrzymania konsoli;
  • Nie musisz robić tego całego kodu w tradycyjny sposób. Możesz skorzystać z dobrodziejstw STL;
#include<iostream>
#include<string>
using namespace std;

int main()
{
    string phrase = "";
    char characterToFind = ' ';

    cout << "Give me an initial phrase: "; cin >> phrase;
    cout << "Give me character to find: "; cin >> characterToFind;

    unsigned count = 0;
    string positions = "";
    for(unsigned i = 0; i < phrase.length(); ++i)
    {
        if(phrase[i] == characterToFind)
        {
            count += 1;
            positions += to_string(i) + " ";
        }
    }

    cout << "Given character positions: " << positions
         << "\nand count: " << count << "\n";

    return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1