Пожалуйста помогите Написать код на С++
1)Для заданных натуральных чисел a и b вычислить их наибольший общий делитель НОД(a.b), используя алгоритм Евклида:
НОД(a,b)=a eсли b=0
НОД(a,b)=b если a=0
НОД(a,b)= НОД(a mod b,b) если a>b и b не = 0
НОД(a,b)= НОД(a,b mod a) если a<b и a не = 0
2)С
клавиатуры вводится строка символов, представляющая собой предложение со
знаками препинания (точка, запятая, восклицательный знак). Вывести на
экран все слова данного предложения, не содержащие цифр.

1

Ответы и объяснения

2013-12-25T18:31:49+04:00
Задача 1.

#include <iostream>
using namespace std;

int euclid(int a, int b)
{
    int t;
    while (b != 0) {
        t = b;
        b = a%b;
        a = t;
    }
    return a;
    while (a != b)
        if (a > b)
            a -= b;
        else
            b -= a;
        if (b = 0)
            return a;
        else
           
return euclid(b,a%b);
}

int main(){ 
    int a, b;
    cin >> a >> b;
    cout << euclid(a, b) << endl;
    return 0;
}


Задача 2.

#include <iostream>
#include <string>
using namespace std;

void main(){
    const char separator[] = " !.,";
    char s[256];
    char *ptr = NULL;
    int i;
    cin.getline(s,256);
    ptr = strtok(s, separator);
    while (ptr)
{
        for (i = 0; i < strlen(ptr); ++i)
            if (isdigit(ptr[i])!=0)
                break;
            if (i == strlen(ptr))
                cout << ptr << "\n";
        ptr = strtok(0, separator);
    }
}