Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Обсуждение форума > Задача на строки в С++


Автор: Jolia 12.3.2007, 17:33
Здравствуйте все!!! Помогите пожаааалуйста....У меня висят 3 задачи по С++, в четверг сдавать, я вроде код написала, но где-то там ошибка, я понять не могу где...не работает и все тут  smile (((( Посмотрите пожалуйста!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Вот текст задач:
1)    Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: слово совпадает с начальным отрезком латинского алфавита (a, ab, abc, abсd,...).

2)    В символьной строке заменить все двоеточия (smile точкой с запятой (;). Подсчитать количество замен.

3)   Дана непустая последовательность непустых слов из латинских букв; соседние слова отделены друг от друга запятой, за последним словом—точка. Определить количество слов, которые начинаются с буквы а;

Код

#include<conio.h>
#include<string.h>
#include<iostream.h>
#include<stdio.h>

char zad1(char ss[])
{char alfavit []="abcdefghijklmnopqrstuvwxyz";
int i=0;k=0;
char *slast;
char *s2;
k=strlen(ss);
while (ss[k]!=" ")
   {i++;
    k--;}
strrev(ss);
strncpy(alfavit,slast,i);
strrev(slast);
s2="";
i=0;
while i<=strlen(ss)+1
     {if ((ss[i]=" ")||(i=strlen(ss)+1))
          {if (((strchr(s2,alfavit)!=0)&&(s2!=slast))
          cout<<s2;
                else
                cout<<"Slovo "<<s2<<" ne podhodit";
                s2="";}
     else s2=s2+ss[i];
     i++;}
}


int zad2(char s[])
{int k,i,j;
i=0;
j=strlen(s);
k=0;
char *strptr;
strptr=strchr(s,":"); 
if (strchr=0)
cout<<"V stroke net dvoetochii";
else
{while (i<=j)
   {if (s[i]==":")
    {s[i]=";";
    ++i;}
  ++k;}
cout<<s;
}
return k;}

int zad3(char str[])
{
  int i=0;
  int k;
  if ((str[0]=='A')|| (str[0]=='a')) k=1;
  else k=0;
   while (i<=strlen(str))
    {
     if (str[i]==',')
       {
       if (str[i+1]=='a') ++k;
       }
     ++i;
    }
  return k;
}

int main()
{clrscr();
int q;
cout<<"Vvedite nomer vipolnyaemogo zadaniya";
cin>>q;
switch (q)
{case 1:
{cout<<"Vvedite stroku angliiskogo texta";
char *ss;
ss=new char [150];
gets(ss);
zad1(ss);
break}

case2:
{cout<<"Vvedite stroku teksta";
char *s;
s=new char [150];
gets(s);
cout<<"Proizvedeno zamen";
delete [] s;
break}

case 3:
{cout<<"Vvedite cherez zapyatuyu slova, v konce stroki postavte tochku \n";
char *str;
str=new char[200];
gets(str);
cout<<"V dannoi stroke "<<zad3(str)<<" slov na bukvu A";
delete [] str;
break;}
}
default: cout<<"Nepravilno nabran nomer zadachi";
getchar();
return 0;}



Автор: GZep 12.3.2007, 18:00
А при чем тут форум?

Автор: Jolia 12.3.2007, 19:24
Простите, по ходу дела, не туда попала)))

Автор: Xenon 13.3.2007, 03:16
"А куда выцелились?"(С) smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)