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

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

Войти
Регистрация
Восстановить пароль
 
Sithis
10 / 1 / 0
Регистрация: 27.11.2011
Сообщений: 98
#1

Циклы - C++

14.08.2012, 11:57. Просмотров 942. Ответов 6
Метки нет (Все метки)

В последовательности символов выдать на печать TRUE, если значение последнего символа равно F
Помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2012, 11:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Циклы (C++):

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

циклы - C++

Циклы do… while - C++
Подскажите пожалуйста, что не так выводит в результате все время 1 Найти произведение p=(1-1/2)(1-1/4)...(1-2^n) Сомножители брать с...

с++ циклы - C++
Такая проблема есть два числа 100 и 1000. Из этих двух чисел, надо все четные числа запихнуть в две переменные и вывести их. Помогите...

i++ vs ++i (циклы) - C++
Собстно стало интересно почему все пишут for(ptrdiff i = 0; i < 10; i++) { } постфиксный инкремент медленнее, а в данном...

Циклы do и while - C++
Приветсвую всех. Прошу помощи в решении двух задач: 1.Составить программу для определения, является ли натуральное число k степенью...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
14.08.2012, 12:46 #2
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <string>
 
int main()
{
    std::string str = "asdasdF";
    if (str[str.size() - 1] == 'F')
        std::cout << "TRUE";
}
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
14.08.2012, 12:52 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int isLastSymbol(char c, const char *string) {
  if (*string == '\0') return 0;
  while (*(string + 1) != '\0') ++string;
  return *string == c;
}
 
int main(int argc, char **argv) {
  printf("%s\n", (isLastSymbol('F', "ASDF") ? "TRUE" : "FALSE"));
  printf("%s\n", (isLastSymbol('F', "ASDFA") ? "TRUE" : "FALSE"));
  printf("%s\n", (isLastSymbol('F', "F") ? "TRUE" : "FALSE"));
  printf("%s\n", (isLastSymbol('F', "") ? "TRUE" : "FALSE"));
  return 0;
}
-=ЮрА=-
Заблокирован
Автор FAQ
14.08.2012, 12:53 #4
Цитата Сообщение от Sithis Посмотреть сообщение
В последовательности символов выдать на печать TRUE, если значение последнего символа равно F
Помогите пожалуйста
- ещё варианті кроме варианта Пaтрик,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
int main()
{
    char text[1024] = {0};//ГЃГіГґГґГҐГ° ГІГҐГЄГ±ГІГ*
    printf("Enter text (less than 1024) : ");
    //Ââîäèì ГІГҐГЄГ±ГІ ìîæГ*Г® Г± ïðîáåëГ*ìè (Г¬Г*ГЄГ± 1023 ñèìâîëГ*)
    scanf("%1023[^\n]",text);
    char lastSymbol = text[strlen(text) - 1];
    if(lastSymbol == 'F')
        printf("TRUE\n");
    else
        printf("FALSE\n");
    return 0;
}
Миниатюры
Циклы  
-=ЮрА=-
Заблокирован
Автор FAQ
14.08.2012, 12:57 #5
Вариант вообще без библиотечных функций работы со строками
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main()
{
    int i = 0;//Ñ÷¸ò÷èê
    char text[1024] = {0};//ГЃГіГґГґГҐГ° ГІГҐГЄГ±ГІГ*
    printf("Enter text (less than 1024) : ");
    //Ââîäèì ГІГҐГЄГ±ГІ ìîæГ*Г® Г± ïðîáåëГ*ìè (Г¬Г*ГЄГ± 1023 ñèìâîëГ*)
    scanf("%1023[^\n]",text);
    char lastSymbol = 0;
    for(i = 0; text[i] != '\0'; i = i + 1)
        lastSymbol = text[i];
    if(lastSymbol == 'F')
        printf("TRUE\n");
    else
        printf("FALSE\n");
    return 0;
}
Миниатюры
Циклы  
-=ЮрА=-
Заблокирован
Автор FAQ
14.08.2012, 12:58 #6
И на последок вариант с реверсом строки
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
 
int main()
{
    int i = 0;//Ñ÷¸ò÷èê
    char text[1024] = {0};//ГЃГіГґГґГҐГ° ГІГҐГЄГ±ГІГ*
    printf("Enter text (less than 1024) : ");
    //Ââîäèì ГІГҐГЄГ±ГІ ìîæГ*Г® Г± ïðîáåëГ*ìè (Г¬Г*ГЄГ± 1023 ñèìâîëГ*)
    scanf("%1023[^\n]",text);
    char lastSymbol = *strrev(text);
    if(lastSymbol == 'F')
        printf("TRUE\n");
    else
        printf("FALSE\n");
    return 0;
}
Миниатюры
Циклы  
-=ЮрА=-
Заблокирован
Автор FAQ
14.08.2012, 13:06 #7
Плюсы : (мои варианты 1,2 думаю тривиально преобразовать в С++), пожтому предлагаю почти полную аналогию 3-его варианта
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
    string text;//ГЃГіГґГґГҐГ° ГІГҐГЄГ±ГІГ*
    cout<<"Enter text  : ";
    //Ââîäèì ГІГҐГЄГ±ГІ ìîæГ*Г® Г± ïðîáåëГ*ìè 
    //getline(cin, text);//Убрать комментарий перед getline если нужен ручной ввод
    text = "Some text with end char F";
    char lastSymbol = *(text.end() - 1);
    if(lastSymbol == 'F')
        printf("TRUE\n");
    else
        printf("FALSE\n");
    return 0;
}
http://liveworkspace.org/code/f3b872...575a61d60c85a3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2012, 13:06
Привет! Вот еще темы с ответами:

Циклы (for, while, do while) - C++
Помогите пожалуйста, вообще ничего не получается...:( Через for: 1.Задано натуральное число, уничтожить с него цифры - &quot;5&quot; и &quot;2&quot;,...

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

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

Циклы - C++
1)For. Дано целое число N(&gt;0). Найти сумму (1^N)+(2^N-1)+...N 2)While. Даны целые положительные числа A и В. Найти их наибольший...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.08.2012, 13:06
Ответ Создать тему
Опции темы

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