Łańcuchy znaków

0

Witam. Mam problem z zadaniem Napisz program, który wczyta dwa łańcuchy znaków, a następnie poinformuje o długości każdego z nich i sprawdzi czy łańcuchy te są takie same. W tym celu napisz funkcję int dlugosc(char arg[]) oraz int porownaj(char arg1[], char arg2[]). Piałem juz ten program dawno i cos było nie tak teraz do tego wróciłem i ja juz sam niewiem co ja tam mam źle.

 #include<cstdio>
#include<cstdlib>

int dlugoc(char arg[])
{
	int i;
	for (i = 0;; i++)
	{
		if (arg[i] == '\0')
			break;
	}
	return i;
}
int porównaj(char s[], char s2[]){
	int i;
	for (i = 0; i < dlugoc(s); i++)
	{
	}

	return i;
}

int main()
{

	char tab[] = { 1, 2, 3 };
	printf("%d", dlugoc(tab));

	char s[255], s2[255];
	int a, b;
	scanf_s("%s", s);
	scanf_s("%s", s2);

	a = dlugoc(s);
	b = dlugoc(s2);

	printf("długość 1=%d\n", a);
	printf("długość 2=%d\n", b);


	system("pause");
	return 0;




}
0
  1. Nie nadużywaj inkrementacji przyrostkowej: http://4programmers.net/Forum/1101404
  2. scanf_s - mało przenośny, używaj lepiej scanf
  3. Podawaj maksymalną długość bufora przy wczytywaniu: scanf("%254s",s);
  4. dlugoc() poprawna, ale nie spełnia zadania oraz można prościej:
int dlugoc(char arg[])
  {
   int i=0;
   while(arg[i]) ++i;
   return i;
  }
  1. porównaj - nie możesz używać znaków diakrytycznych w nazwach (dla większości kompilatorów)
  2. porownaj - warunek powinien być podobny do tego co masz w dlugoc
  3. A jak brzmi pytanie?
0

treść zadania brzmi tak Napisz program, który wczyta dwa łańcuchy znaków, a następnie poinformuje o długości każdego z nich i sprawdzi czy łańcuchy te są takie same. W tym celu napisz funkcję int dlugosc(char arg[]) (która będzie zwracała długość łańcucha) oraz int porownaj(char arg1[], char arg2[]) (która zwróci wartość 1 w przypadku kiedy porównywane łańcuchy są takie same lub 0 w przeciwnym wypadku).

I nie umiem sobie z tyy poradzić ten program pisałem dawno i juz sam nie wiem co do czego.
A co do scanf_s visual studio nie chcę sie kompilować z scanf.
Proszę o pomoc co powinienem pozmieniać żeby ten program działał tak jak powinien.

0
  1. Przeczytaj jakiś kurs - do rozdziałów łańcuchy znaków, funkcje do tego z nich który będzie później
  2. Wywal ten program.
  3. Napisz od nowa - zajmie to jakieś 5-10 min.

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