Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2017, 15:46   #1
наталья776
Пользователь
 
Регистрация: 31.01.2017
Сообщений: 12
По умолчанию

Ввести строку символов, если ее длина кратна 5, посчитать количество скобок всех видов, выделив их в отдельную строку.

У меня есть вот такая вот функция:
Код:
#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
    char samples[] = "[]{}()<>";
    char str[N], braces[N];
    int i, j, k = 0;
    for(i = 0; ((str[i] = getchar()) != '\n') && i < N; i++){
        for(j = 0; samples[j]; j++){
            if(str[i] == samples[j]){
                braces[k++] = str[i];
                break;
            }
        }
    }
    braces[k] = '\0';
    if(k == 0)
        puts("Braces not found");
    else{
        if(i % 5 == 0){
            printf("Quantity of braces = %d\n", k);
            puts(braces);
        }
        else
            puts("Line length is not divide of 5");
    }
    return 0;
}
а по условию нужно, чтобы было через функции. как это сделать??

помогите, пожалуйста, кто может.
наталья776 вне форума Ответить с цитированием
Старый 22.02.2017, 16:11   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Вынести часть (например, цикл) в функцию.
p51x вне форума Ответить с цитированием
Старый 22.02.2017, 18:08   #3
наталья776
Пользователь
 
Регистрация: 31.01.2017
Сообщений: 12
По умолчанию

Код:
#include<process.h>
#include <stdio.h>
#include <stdlib.h>
#include<stdio.h>
#include<windows.h>
#include<conio.h>
#include <locale.h>

int find_symbol_in_a_string(char *str, int n);
int main()
{
	setlocale(LC_ALL, "Russian");
	char *str; 
	int n, k;
	str = new char[100];//выделение памяти под строку
	if (str==NULL)
	{
		printf("предел размерности");
		_getch();
		exit(0);
	}
	printf("введите строку: ");
	gets(str);
	system("cls");
	printf("введенная строка: %s \n",str);
	find_symbol_in_a_string(str, n);
	printf("строка 2=: %s количество скобок=%d \n",str, k);
	_getch();
}

int find_symbol_in_a_string(char *str, int n){

    char samples[] = "[]{}()<>";
    char braces[100];
    int i, j, k = 0;
    for(i = 0; ((str[i] = getchar()) != '\n') && i < 100; i++){
        for(j = 0; samples[j]; j++){
            if(str[i] == samples[j]){
                braces[k++] = str[i];
                break;
            }
        }
    }
    braces[k] = '\0';
    if(k == 0)
        puts("Braces not found");
    else{
        if(i % 5 == 0){
            printf("Quantity of braces = %d\n", k);
            puts(braces);
        }
        else
            puts("Line length is not divide of 5");
    }
    return 0;
}
наталья776 вне форума Ответить с цитированием
Старый 22.02.2017, 18:09   #4
наталья776
Пользователь
 
Регистрация: 31.01.2017
Сообщений: 12
По умолчанию

вот как-то так, но программа не работает, выскакивает ошибка после ввода строки
наталья776 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему не работает код, проверяющий наличие символа в исходной строке по хешу MD5 ? komra2 C# (си шарп) 12 13.09.2016 17:32
Не удается выделить отдельную функцию. alextrof94 JavaScript, Ajax 6 28.04.2014 18:13
написать программу.Определить, корректно ли расставлены в строке круглые и квадратные скобки. Скобки могут быть вложенными цезарь Общие вопросы по Java, Java SE, Kotlin 3 22.06.2013 01:29
Как выгрузить строку таблицы в отдельную книгу? NVNPP Microsoft Office Excel 1 21.04.2010 09:08
Содержит ли текст заданную отдельную строку длинной не более 255 из символов 0 и 1 Curtis Помощь студентам 1 15.02.2009 20:08