• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Program zamiana znaków w ciągu liter | Problem

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
2,541 wizyt
pytanie zadane 22 stycznia 2017 w C i C++ przez spicedagger Użytkownik (530 p.)
zamknięte 1 lutego 2018 przez spicedagger
Mam taki problem z tym bo dopiero zaczynam programować.
A mianowicie chciałbym żeby pogram przeszukiwał podany przeze mnie ciąg znaków c
i sprawdzał czy znak  podanego ciągu odpowiada  znakowi 1 ciągu a zdefiniowanego wcześniej, jeśli znak jest taki sam  niech wypisze pierwszy znak ciagu b i przejdzie dalej aż wszystkie znaki w ciągu c zostaną zamienione.  Mam nadzieje że dobrze wytłumaczyłem co chce zrobić.
EDYCJA:
ogólnie program ma zamienić znaki nap jeśli podam ciąg znków np. c ; bca

przy wcześniej zdefinowanych ciągach, a="cab" i b="hur",

czyli program sprawdza na którym ideksie  jest "b" z ciągu a  następnie

wyświtla znak z ciągu c o tym samym ideksie który wcześniej sprawdził. i tam ma się dziać aż wszyskie znaki zostną wyświtlone czyli wynik dla tego przypadku powinien być

:"rhu"

#include <iostream>
#include <cstdlib>
#include <time.h>
#include <cstring>
using namespace std;

int i;
 string a="dfasfasdfggdaf";
 string b="lkjjkhkhkhghff";
string c;



int main()
{
cin>>c;

int n=c.length();

cout<<"Podaj wyraz w ktorym chcesz zamienic znaki"


for(i=0;i<n;i++)
{
	if(c[i]==a[i]
	cout<<b[i];
}
return 0;
	system("pause");
}

 

komentarz zamknięcia: rozwiązane

2 odpowiedzi

+1 głos
odpowiedź 22 stycznia 2017 przez Dexterim Dyskutant (8,370 p.)

w linijce 29 brakuje nawiasu a mianowicie

if(c[i]==a[i])
     cout << b[i] << endl;

Ogólnie w programie nic nie zmienia wartosci c . Moje pytanie brzmi co ma sie stać jak c jest dłuższe od a ???

0 głosów
odpowiedź 22 stycznia 2017 przez heros22pt Użytkownik (950 p.)

brak nawiasu w :


    if(c[i]==a[i]

i dobrze jeszcze dać warunek

if(c.length!=b.length) ....

komentarz 22 stycznia 2017 przez spicedagger Użytkownik (530 p.)
nie problem w nawiasie, po prostu zapomniałem,

ogólnie program ma zamienić znaki nap jeśli podam ciąg znków np. c ; bca

przy wcześniej zdefinowanych ciągach, a="cab" i b="hur",

czyli program sprawdza na którym ideksie  jest "b" z ciągu a  następnie

wyświtla znak z ciągu c o tym samym ideksie który wcześniej sprawdził. i tam ma się dziać aż wszyskie znaki zostną wyświtlone czyli wynik dla tego przypadku powinien być

:"rhu"

mam nadzieje że teraz jasne o co mi chodzi nie wiem czy ten program co napisałem ma coś wogule wspólnego z tym co chce zrobić
komentarz 22 stycznia 2017 przez heros22pt Użytkownik (950 p.)
a w czym jest problem, co nie działa?
komentarz 22 stycznia 2017 przez spicedagger Użytkownik (530 p.)

Problem rozwiązany, teraz to sie wydaje proste nie wiem nad czym się tak głowiłem, temat do zamknięcia :D

#include <iostream>
#include <cstdlib>
#include <time.h>
#include <cstring>
using namespace std;

int i;
 string a="abcdefgh";
 string b="lkjjkhkhkhghff";
string c;



int main()
{
cin>>c;

int n=c.length();

cout<<"Podaj wyraz w ktorym chcesz zamienic znaki: "<<endl;


for(i=0;i<n;i++)
{
	int h=a.find(c[i]);
	cout<<b[h];
}

	
	return 0;
	system("pause");
}

 

Podobne pytania

0 głosów
1 odpowiedź 304 wizyt
pytanie zadane 7 lutego 2017 w C i C++ przez spicedagger Użytkownik (530 p.)
0 głosów
1 odpowiedź 325 wizyt
pytanie zadane 7 sierpnia 2017 w PHP przez Paweł Terlecki Nowicjusz (210 p.)
0 głosów
1 odpowiedź 1,028 wizyt

93,439 zapytań

142,431 odpowiedzi

322,677 komentarzy

62,802 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...