/*
* строки 1.4
* Функція рахує кількість слів, які починаються і закінчуються на один і тей же символ.
* В кінці рядка обовязково повинна стояти крапка.
* Василь 14042011
*/
#include <iostream>
#include <stdlib.h>
#include <strings.h>
#include <conio.h>
using namespace std;
int main(){
do{
cout<<"Enter string 'la la la.'"<<endl<<" > ";
char *a=new char[80]; // створюємо масив символів
cin.getline(a,80);
printf(" -> strlen(a) = %i\n",strlen(a));
int count=0;
if (*(a+strlen(a)-1)!='.'){
cout<<" -> ERROR : Vu zabulu postavutu krapkuu v kinci!"<<endl;
}
else
{
int i=1;
char *b=new char[2];
strcpy(b," ");
a=strcat(b,a);
char firstsymbol;
while (i<strlen(a)-1){
if ((*(a+i)!=' ') && (*(a+i-1)==' '))
{
firstsymbol=*(a+i);
do{
i++;
} while (a[i]!=' ' && a[i]!='.' && strlen(a)>i);
i--;
if (firstsymbol==a[i]) count++;
}
i++;
}
cout<<"Count is ";
cout<<count<<endl;
}
cout<<endl<<"TRY AGAIN? \n ESC - to EXIT."<<endl;
} while (getch()!=27);
system("PAUSE");
return 0;
}
/*
* Визначити структуру для збереження інформації про дату
* (день, місяць, рік). Написати функцію, яка повертає дату
* наступного дня (врахувати перехід через місяць і рік).
* Василь 15 04 2011 0012
*/
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
struct Tdmy{ // структура
long d,m,y; // число місяць рік
void dmy_pp(){ // плюс плюс
d++;
switch (m){
case 1: if (d>31) {d=1; m++;} break;
case 2: if (d> ((y % 4 == 0) ? 29 : 28) ) {d=1; m++;} break;
case 3: if (d>31) {d=1; m++;} break;
case 4: if (d>30) {d=1; m++;} break;
case 5: if (d>31) {d=1; m++;} break;
case 6: if (d>30) {d=1; m++;} break;
case 7: if (d>31) {d=1; m++;} break;
case 8: if (d>31) {d=1; m++;} break;
case 9: if (d>30) {d=1; m++;} break;
case 10: if (d>31){d=1; m++;} break;
case 11: if (d>30){d=1; m++;} break;
case 12: if (d>31){d=1; m=1; y++;} break;
}
}
void show_date(){ // функція виводить дату
cout<<"The date is (d.m.y) : "<<d<<"."<<m<<"."<<y<<endl;
}
};
int main(){
Tdmy variable; // створили структуру
do{
cout<<"enter d, m, y : ";
cin>>variable.d>>variable.m>>variable.y;
variable.show_date();
variable. dmy_pp();
variable.show_date();
cout<<endl<<"Press ESC to exit..."<<endl;
} while (getch()!=27);
system("PAUSE");
return 0;
}
RUS написав:Спасибо, Вась))
/*
* Визначтити структуру для збереження інформації про особу та дату
* (день, місяць, рік) її народження.
* Написати функцію, яка повертає ім'я тієї особи з двох даних,
* яка народилась першою.
* Василь 15 04 2011 0110
*/
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <strings.h>
#define n 200
using namespace std;
struct Tman{ // структура
char name[n];
long d,m,y;
void getinfo(){
cout<<"Enter name (bez probelov) : ";
cin>>name;
cout<<"Enter d m y : ";
cin>>d>>m>>y;
}
};
int test(Tman p1,Tman p2){
// кто младше. 1 - первый; 2 - второй; 0 - одинаковые
if (p1.y>p2.y){
return 2;
}
if (p1.y<p2.y){
return 1;
}
// если года одинаковые... продолжаем наш тест ))
// ща месяца
if (p1.m>p2.m){
return 2;
}
if (p1.m<p2.m){
return 1;
}
// теперь дни
if (p1.d>p2.d){
return 2;
}
if (p1.d<p2.d){
return 1;
}
// если ничего не подошло - тогда даты одинаковые
return 0;
}
char *WhoIsFirst(Tman p1,Tman p2){
int rez = test(p1,p2);
char *a=new char[80];
if (rez==0) strcpy(a," -> Rodilis v odin i tot je den!");
if (rez==1) {strcpy(a," -> NAME : "); a=strcat(a,p1.name);}
if (rez==2) {strcpy(a," -> NAME : "); a=strcat(a,p2.name);}
return a;
}
int main(){
Tman p1,p2; // створили структуру
do{
p1.getinfo();
p2.getinfo();
cout<<WhoIsFirst(p1,p2);
cout<<endl<<"Press ESC to exit..."<<endl;
} while (getch()!=27);
system("PAUSE");
return 0;
}
Зараз переглядають цей форум: Немає зареєстрованих користувачів і 0 гостей