Правильно ли я выполняю задания?
От: Deposit Россия  
Дата: 11.10.05 08:20
Оценка:
Работаю над контрольными по С++.
В задании сказано отладить следующие программы:

/* Задание 2 */
#include <stdio.h>
#include <string.h>
//////////////////////
int strlen(char *str)
{
 int i=0;
 while(*str++) i++; //for(i=0; *str; str++) i++;
 return i;
}
//////////////////////
int SizeWord(char *express)
{
  int size=0;
  while(*express==' ') express++;
  while(*express)
  {
   if(*express==' ') 
    { 
     size++; 
     while(*express==' ') express++;
    }
   else
    express++;  
  } 
  return size; //error!
}
/////////////////////////////
int strcmp1(char *str1, *str2)
{
 while(str1*)
  {
   if(*str1++!=str2++) return 0;
  }
  return 1;
}
///////////////////////////////
int strcmp2(char *str1, char *str2)
{
 while(1)
 {
  if(*str1>*str2) return 1;
 else
  if(*str1<*str2) return -1;
 else
   if(!*str1) return 0;
  str1++;
  str2++; 
 }
}


Вроде отладил, все работает. Но не уверен правильно ли делаю. Вот отлаженные коды.
Пример 1.
#include <stdio.h>
#include <string.h>

char *str = "A from in Russia";
int i=0;
int strlen()
{
while(*str++) i++;
return i;
}
int main ()
{
printf("%d\n",strlen());
return 0;
}

Пример 2.
#include <stdio.h>
#include <string.h>

char *express = "Hello my friend, how are you? I have work in your compani";
int SizeWord()
{
int size = 0;
while(*express == ' ') express++;
while(*express)
{
  if(*express == ' ')
    {
      size++;
      while(*express == ' ') express++;
    }
  else
  express++;
}
return size;
}
int main ()
{
printf("Колличество слов в предложении = %d\n", SizeWord());
return 0;
}

Пример 3.
#include <stdio.h>
#include <string.h>

char *str1 = "A from in Russia";
char *str2 = "I'm from in Russia";
int strcmp1()
{
 while(*str1)
  {
   if(*str1++ != *str2++) return 0;
  }
  return 1;
}
void main ()
{
printf("%d\n",strcmp1());
}


Пример 4.
#include <stdio.h>
#include <string.h>

char *str1 = "I'm from in Russia";
/*char *str2 = "I'm from in Russia";*/


int strcmp2(char *str2 = "I'm from in Russia")
{
 while(1)
 {
  if(*str1>*str2) return 1;
 else
  if(*str1<*str2) return -1;
 else
   if(!*str1) return 0;
  str1++;
  str2++; 
 }
}
void main()
{
printf("%d\n",strcmp2());
}


И можно ли все эти функции реализовать в одном проекте?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.