Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Crazyroma
3 / 3 / 0
Регистрация: 21.10.2010
Сообщений: 124
#1

Процедури циклы - C++

17.03.2011, 23:51. Просмотров 731. Ответов 6
Метки нет (Все метки)

Можете пожалуйста помочь с данным заданием а то не очень понемаю что нужно зделать
Здание: Составить процедуру, результатом работы которой является истинное значение, если символ, заданный при обращении к процедуре, - буква, и ложное значение в противном случае. Подсчитать, используя написанную функцию, количество букв и символов, не являющихся буквами в заданной строке.

Вот что скажем так я смог написать но мне сказали что бред полнейшый но чуть в правильном направлении можете пожалуйста подсказать что нужно поменять и зделать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// gggggggggg.cpp : main project file.
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
using namespace System;
 
int main()
{
char c,k,x;
 
x=Convert::ToInt32(Console::ReadLine());
k=Convert::ToInt32(Console::ReadLine());
 
if (isalpha(c))
{
Console::WriteLine("6YKBA");
}
else {
for (c=1;c<k;c++)
c=c++;
Console::WriteLine("c={0}",c);
Console::ReadKey();
}
Console::ReadKey()
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2011, 23:51     Процедури циклы
Посмотрите здесь:

Циклы WHILE, DO-WHILE. - C++
Привет всем. В течении 3ёх часов нужно сдать работу, ни черта не получается, ибо полнейший чайник в программировании :umnik: Может кто...

Циклы - C++
Как написать программу, в которой нужно сложить значения получаемые в цикле? z=sin(\sum_{3}^{10}(a*k+c)) a,c известны

Циклы - C++
Дано целое число а. Вывести все числа в диапазоне от 0 до а, которые делятся без остатка на 3, и сумму этих чисел. а вводит пользователь, и...

Циклы - C++
Воозникли трудности. Можете помочь ?) Необходимо протабулировать функции, зависящее от 2 переменных или от нескольких параметров....

циклы - C++
Подскажите, как в цикле while создать два условия так ,чтобы не было оператора break, то есть чтобы условия проверялись, затем выполнялось...

циклы for, while - C++
for: Среди всех n-значных чисел (n = 1,2,3,4) указать те, сумма цифр которых равна данному числу k. while: Дано натуральное число n....

циклы - C++
Подскажите если файл состоит из блоков (например массивов )как переходить из блока к блоку с помощью цикла while , если действия в одном...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
18.03.2011, 05:20     Процедури циклы #2
C++
1
2
3
4
5
// вот функция
bool isletter(char c)
{
   return 'a' <= c and c <= 'z' or 'A' <= c and c <= 'Z';
}
как использовать догадаешься? ))
Crazyroma
3 / 3 / 0
Регистрация: 21.10.2010
Сообщений: 124
18.03.2011, 09:12  [ТС]     Процедури циклы #3
Цитата Сообщение от Aye Aye Посмотреть сообщение
C++
1
2
3
4
5
// вот функция
bool isletter(char c)
{
   return 'a' <= c and c <= 'z' or 'A' <= c and c <= 'Z';
}
как использовать догадаешься? ))
Вот так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdafx.h"
#include <iostream>
using namespace std;
 
using namespace System;
 
int main()
{
bool isletter(char c)
 
x=Convert::ToInt32(Console::ReadLine());
k=Convert::ToInt32(Console::ReadLine());
 
if 'a' <= c and c <= 'z' or 'A' <= c and c <= 'Z';
{
Console::WriteLine("6YKBA");
}
else {
for (c=1;c<k;c++)
c=c++;
Console::WriteLine("c={0}",c);
Console::ReadKey();
}
Console::ReadKey()
return 0;
}
LaГushan
124 / 124 / 14
Регистрация: 12.03.2011
Сообщений: 227
18.03.2011, 10:26     Процедури циклы #4
А можно просто использовать функцию isalpha('a'), которая возвращает ненулевое значение, если буква.
Crazyroma
3 / 3 / 0
Регистрация: 21.10.2010
Сообщений: 124
18.03.2011, 18:09  [ТС]     Процедури циклы #5
Цитата Сообщение от LaГushan Посмотреть сообщение
А можно просто использовать функцию isalpha('a'), которая возвращает ненулевое значение, если буква.
А как эго использовать толком а то я вот написал но что то видно кривовато я написал что оно током не работает.
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
18.03.2011, 18:51     Процедури циклы #6
Crazyroma, вот так использовать:
C++
1
2
3
4
5
6
7
8
#include <string>
std::string s("this is a string");
int counter = 0;
for (int i = 0; i < s.size(); ++i) {
     if (not isletter(s[i]))  // если не буква - увеличиваем счетчик
         counter++;
}
// теперь в counter находится число вхождений символов-не-букв
кстати в новом стандарте это красивее выглядит:
C++
1
2
3
4
#include <algorithm> // для for_each();
string s("some string \nand another string");
int counter = 0;
for_each(s.begin(), s.end(),[&counter](char c) { isletter(c)?0:++counter;});
LaГushan, isalpha ему нельзя, у него задание самому написать такую функцию.
правда, следует еще уточнить, что считать буквой. например '_' за букву считается, а '-'? Большенство лексических анализаторов воспринимают их как буквы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2011, 21:40     Процедури циклы
Еще ссылки по теме:

Циклы - C++
1) Дано вещественное число А и целое число N(&gt;0). Используя один цикл, найти сумму 1+A+A^2+...+A^N. Пример входных данных: 1.00 2 ...

Циклы (1/2*2/3*3/4.(n-1)/n) - C++
Всем доброго времени суток. Подскажите как правильно написать цикл для поставленной задачи? Сама задача:

Циклы - C++
C++ Задача 1. Разбить введенное число на отдельные цифры и вывести в прямом и обратном порядке. Задача 2. Дано натуральное число n....

Циклы в С++ - C++
Напишите программу, которая будет выводить на печать средний и максимальный результат из введенных.

Циклы - C++
Вычислить сумму квадратов всех положительных значений функции. Определить, для которого функция приобретает минимального значения. f(x)=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Crazyroma
3 / 3 / 0
Регистрация: 21.10.2010
Сообщений: 124
18.03.2011, 21:40  [ТС]     Процедури циклы #7
Цитата Сообщение от Aye Aye Посмотреть сообщение
Crazyroma, вот так использовать:
C++
1
2
3
4
5
6
7
8
#include <string>
std::string s("this is a string");
int counter = 0;
for (int i = 0; i < s.size(); ++i) {
     if (not isletter(s[i]))  // если не буква - увеличиваем счетчик
         counter++;
}
// теперь в counter находится число вхождений символов-не-букв
кстати в новом стандарте это красивее выглядит:
C++
1
2
3
4
#include <algorithm> // для for_each();
string s("some string \nand another string");
int counter = 0;
for_each(s.begin(), s.end(),[&counter](char c) { isletter(c)?0:++counter;});
LaГushan, isalpha ему нельзя, у него задание самому написать такую функцию.
правда, следует еще уточнить, что считать буквой. например '_' за букву считается, а '-'? Большенство лексических анализаторов воспринимают их как буквы.
Я по питался реализовать вот что вышло но остались какие это ошибки как из исправь не понимаю можете помочь пожалуйста.Или я вообще правильно сделал?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <string>
 
using namespace System;
 
int main(void)
{
int i;
bool isletter(char c);
std::string s("this is a string");
 
int c = 0;
if 'a' <= c and c <= 'z' or 'A' <= c and c <= 'Z' ; {
Console::WriteLine('BYKVA'); }
for (int i = 0; i < s.size(); ++i); {
if (not)( isletter(s[i])); {
c++;}
Console::WriteLine('Simvolov =',c);
}
return 0;
 
}
Yandex
Объявления
18.03.2011, 21:40     Процедури циклы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru