Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

17.03.2011, 23:51. Просмотров 794. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2011, 23:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Процедури циклы (C++):

Заменить в коде циклы for на циклы while - C++
int i, j, n; bool a; cin &gt;&gt; i &gt;&gt; n; for (i; i&lt;n; i++) { a = true; for (j = 2; j &lt;= i / 2; j++) if ((i%j) == 0) a =...

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

Циклы - C++
В последовательности целых положительных чисел определить максимальное четное число и его порядковый номер. За раннее спасибо)

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

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

циклы - C++
вывести на экран все целые числа из диапазона от А до Б, кратные трем (А&lt;=B)

6
Aye Aye
369 / 283 / 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';
}
как использовать догадаешься? ))
1
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;
}
0
LaГushan
124 / 124 / 14
Регистрация: 12.03.2011
Сообщений: 227
18.03.2011, 10:26 #4
А можно просто использовать функцию isalpha('a'), которая возвращает ненулевое значение, если буква.
1
Crazyroma
3 / 3 / 0
Регистрация: 21.10.2010
Сообщений: 124
18.03.2011, 18:09  [ТС] #5
Цитата Сообщение от LaГushan Посмотреть сообщение
А можно просто использовать функцию isalpha('a'), которая возвращает ненулевое значение, если буква.
А как эго использовать толком а то я вот написал но что то видно кривовато я написал что оно током не работает.
0
Aye Aye
369 / 283 / 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 ему нельзя, у него задание самому написать такую функцию.
правда, следует еще уточнить, что считать буквой. например '_' за букву считается, а '-'? Большенство лексических анализаторов воспринимают их как буквы.
0
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;
 
}
0
18.03.2011, 21:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2011, 21:40
Привет! Вот еще темы с ответами:

Циклы - C++
Дан номер телевизионного канала(от 1 до 5). Вывести на экран наиболее популярные программы заданного канала.

Циклы - C++
1)Используя перебор значений найти все числа из диапазона от n до m, которые при возведении в квадрат дают палиндром 2)В соревнованиях...

Циклы - C++
Разработать консольную программу в C++, для нахождения значения Y, с использованием операторов цикла с параметром, цикла с предусловием,...

циклы - C++
помогите вывести таблицу 4 3 2 1 0 3 2 1 0 2 1 0 1 0 0


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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