tablica wskaźnikow

0

Stworzyć 10-elementowa tablicę wskazników na char i zainicjalizować ja imionami czytanymi z klawiatury.

zadanie wydaje sie proste, ale nie po wielu probach stracilam cierpliwosc:/
Macie pomysł?

0
kallya napisał(a)

Stworzyć 10-elementowa tablicę wskazników na char i zainicjalizować ja imionami czytanymi z klawiatury.

zadanie wydaje sie proste, ale nie po wielu probach stracilam cierpliwosc:/
Macie pomysł?

Jestes pewna, ze c#? Bo tam nie ma wskaznikow...

pozdrawiam
johny

0

w C# przeciez można ostatecznie użyć unsafe ;) ale tez mi się wydaje ze takie zadanie do C# nie pasuje :) oto kod w C++ mysle ze to rozwiązuje zadanie:

    char tab[10][20]; /* ograniczenie dlugosci napisu do 20 znaków, jak potrzebujesz wiecej to zmien drugi wymiar tablicy ;) */
    
    for(int i =0; i < 10; i++)
    {
            cin >> tab[i];        
    };
    
    // tablica wskaźników na char inicjalizowana danymi pobranymi z klawiatury:
    
    char *wsk[] = { tab[0], tab[1], tab[2], tab[3], tab[4],
                    tab[5], tab[6], tab[7], tab[8], tab[9] };

na poczatku jest dziwna ta tablica dwuwymiarowa ale nie chcialem uzywac wskaźników :)

pozdrawiam spony

0

Mozna uzyc unsafe ale to i tak bedzie c++ :).

Bardziej dynamicznie bedzie gdyby uzyc std::string;

#include <iostream>
#include <string>

using namespace std;

int main()
{
	string imie;
	char** imiona = new char*[10];
	for(int i=0;i<10;i++)
	{
		cin>>imie;
		imiona[i] = new char[imie.length()+1];
		for(int j=0;j<imie.length();j++)
			imiona[i][j]=imie.c_str()[j];
		imiona[i][imie.length()]='\0';
	}	
	for(int i=0;i<10;i++)
		cout<<imiona[i]<<" ";
	return 0;	
}

pozdrawiam
johny

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