Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Получить все символы, расположенные до первого двоеточия / 7 сообщений из 7, страница 1 из 1
04.12.2015, 16:54
    #39120831
fr0st1k123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все символы, расположенные до первого двоеточия
Даны натуральное число n, символы s1, s2, …, sn среди которых есть двоеточие. Получить все символы, расположенные до первого двоеточия
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main() {
    const int n = 10;
    int i;
    char str[n];
    for (i = 0; i < n; ++i)
        cin >> str[i];
    for (i = 0; i < n; ++i)
    {
        if (str[i] == ':')
            break;
        cout << str[i];
    }
    cout << endl;
 
    return 0;
}
...
Рейтинг: 0 / 0
04.12.2015, 16:55
    #39120833
fr0st1k123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все символы, расположенные до первого двоеточия
fr0st1k123Даны натуральное число n, символы s1, s2, …, sn среди которых есть двоеточие. Получить все символы, расположенные до первого двоеточия
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main() {
    const int n = 10;
    int i;
    char str[n];
    for (i = 0; i < n; ++i)
        cin >> str[i];
    for (i = 0; i < n; ++i)
    {
        if (str[i] == ':')
            break;
        cout << str[i];
    }
    cout << endl;
 
    return 0;
}


как сделать эту программу не используя break ?
...
Рейтинг: 0 / 0
04.12.2015, 16:57
    #39120838
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все символы, расположенные до первого двоеточия
замени на continue
...
Рейтинг: 0 / 0
04.12.2015, 16:59
    #39120846
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все символы, расположенные до первого двоеточия
У цикла for в условии кроме i < n можно еще что-нибудь проверять. Это обычное логическое выражение.
...
Рейтинг: 0 / 0
04.12.2015, 17:15
    #39120876
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все символы, расположенные до первого двоеточия
fr0st1k123как сделать эту программу не используя break ?
Так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
#include "stdafx.h"
#include <iostream>
using namespace std;

int main() {
     const int n = 10;
     int i;
     char str[n+1];
     for (i = 0; i < n; ++i)
         cin >> str[i];
     str[i] = '\0';
     const char* e = strchr(str, ':');
     if (e != NULL)
       *e = '\0';
     cout << str << endl;

     return 0;
}


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
09.12.2015, 11:42
    #39123937
ДохтаР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все символы, расположенные до первого двоеточия
#include <stdio.h>
int scanf(const char *format, ...);
смотрите на формат с квадратной скобкой.
...
Рейтинг: 0 / 0
11.12.2015, 16:36
    #39125995
Lord_Sota_Sil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все символы, расположенные до первого двоеточия
fr0st1k123fr0st1k123Даны натуральное число n, символы s1, s2, …, sn среди которых есть двоеточие. Получить все символы, расположенные до первого двоеточия
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main() {
    const int n = 10;
    int i;
    char str[n];
    for (i = 0; i < n; ++i)
        cin >> str[i];
    for (i = 0; i < n; ++i)
    {
        if (str[i] == ':')
            break;
        cout << str[i];
    }
    cout << endl;
 
    return 0;
}


как сделать эту программу не используя break ?

можно, но немного запутаннее через "обратную логику"

Код: plaintext
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.
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main() {
    const int n = 10;
    int i;
    char str[n];
    for (i = 0; i < n; ++i)
        cin >> str[i];
   
        i = 0;

        while (str[i] != ':' && (i != n)) // До тех пор пока не встречен в ячейках массива символ : И не достигнут конец    
	{                                      // массива(это очень важно иначе будет бесконечный цикл) 

	   std::cout << str[i] << '\n';// Печатать все символы, расположенные до первого двоеточия 
	   str[i++];// ясно, понятно что переходим на следующую ячейку массива 

	}

    cout << endl;
 
    return 0;
}
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Получить все символы, расположенные до первого двоеточия / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]