Jak wpisać imie i nazwisko do tablicy (razem ze spacja)

0

Hej

brnę dalej w programowaniu, ale co jakiś czas mam problem z niektórymi zadaniami które dostaje od prowadzących na studiach. Zadanie brzmi tak:

Posłuż się tablicą znaków do wypisania „od tyłu”, na konsoli imienia i nazwiska wprowadzonych przez użytkownika programu. Np. dla wpisanego przez użytkownika:

Jan Kowalski

odpowiedź powinna brzmieć:

naJ ikslawoK

Chciał bym to zrobić przy pomocy tablic znakowych i getchar() (koniecznie w ten sposób, nie znam jescze stringow, pewnie tak bylo by latwiej).

Napisałem sobie takie coś:

#include "stdafx.h"
#include <iostream>

using namespace std;

int main()
{
	char t[30];
	cout<<"Podaj imie i nazwisko bez polskich znakow: ";
	cin>>t;
	for(int i=0;i<30;i++)
	{
		cout<<t[i]<<endl;;
	}
	system("pause");

ale do tablicy wpisuje sie tylko imie, po spacji juz nie.

Generalnie mój pomysł jest taki żeby przeanalizować później tablice t i za pomocą porównania kodu ascii spacji podzielić ja na dwie (jedna z imieniem i druga z nazwiskiem). Dalej już sobie poradzę.

Mogę poprosić o pomoc? może nie o napisanie kodu ale o wskazówki jak do tego dojść?

2
cin.getline()

wczytuje całą linijkę razem z białymi znakami.
Ogólnie tu masz wszystko.

0

dzięki wielkie, działa!

 

#include "stdafx.h"
#include <iostream>

using namespace std;

int main()
{
	char t[30], i[30], n[30];
	int ascii[30], numer_spacji, numer_konca;
	cout<<"Podaj imie i nazwisko bez polskich znakow: ";
	cin.getline(t,30);
	for(int i=0;i<30;i++)
	{
		ascii[i]=static_cast<int>(t[i]);
		if(ascii[i]==32)numer_spacji=i;
		if(ascii[i]==0)numer_konca=i;
	}

	cout<<endl;
	for(int k=0;k<numer_spacji;k++)
	{
		cout<<t[numer_spacji-k-1];
	}
	cout<<" ";
	for(int k=0;k<(numer_konca-numer_spacji);k++)
	{
		cout<<t[numer_konca-k-1];
	}
	cout<<endl<<endl;


	system("pause");
}


I teraz pytanie, wiem że da się to zrobić inaczej, za pomocą alokacji pamięci i używania (funkcji?) new a później delete?
pytanie czy w ogóle tak to się nazywa i czy dobrze myślę? - chodzi mi o sposób tworzenia tablic gdzie ich rozmiar jest zmienną.

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