• 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

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
1,573 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ź 156 wizyt
pytanie zadane 7 lutego 2017 w C i C++ przez spicedagger Użytkownik (530 p.)
0 głosów
1 odpowiedź 245 wizyt
pytanie zadane 7 sierpnia 2017 w PHP przez Paweł Terlecki Nowicjusz (210 p.)
0 głosów
1 odpowiedź 613 wizyt

91,276 zapytań

139,942 odpowiedzi

315,129 komentarzy

60,722 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...