Символьный массив (C++)

 
0
 
C++
ava
Hetls | 16.11.2016, 19:31
Дан символьный массив, образованный из слов, разделенных  пробелами.  
С использованием процедур и функций выполнить:
Подсчитать количество слов в тексте; проверить, есть ли  в  тексте заданное слово; поменять местами два слова текста с заданными номерами; вставить новое слово после  указанного и выдать на печать указанное слово текста.


#include <cstdio>
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include<iostream>

#define STRLEN 255
#define LEN 1000

int main(void){
charstr[STRLEN], wrd[STRLEN], *p;
size_tcount_all, count_word;

SetConsoleCP(1251);
SetConsoleOutputCP(1251);

printf("Massiv: ");
fgets(str, sizeof(str), stdin);
if ( p = strrchr(str, '\n') )
        *p = '\0';
printf("Slovo: ");
fgets(wrd, sizeof(wrd), stdin);
if ( p = strrchr(wrd, '\n') )
        *p = '\0';

count_all = count_word = 0;
for ( p = strtok(str, " "); p != NULL; p = strtok(NULL, " ") ){
        ++count_all;
if ( !strcmp(p, wrd) )
            ++count_word;
    }
printf("Vsegoslov: %d\n", count_all);
printf("Slovo \"%s\" vstretilos %d raz(a)\n", wrd, count_word);

return 0;}


char sin[LEN] = {'\0'};
charsout[LEN] = {'\0'};
char *p;
char swap[LEN];
char a[LEN / 10][LEN];

int k = -1, i, l, r;

printf("Vveditemassiv: ");
gets(sin);
        p = strtok(sin, " ");
while(p)
        {
k++;
strcpy(a[k], p);
            p = strtok(NULL, " ");
        }
printf("\nVveditenomeraslovdlyaobmena(l <= r): ");
scanf("%d %d", &l, &r);
if(l > r)
        {
printf("\n\nInput ERROR! Program close!");
return 1;
        }
strcpy(swap, a[l - 1]);
strcpy(a[l - 1], a[r - 1]);
strcpy(a[r - 1], swap);
for(i = 0; i< k; i++)
        {
strcat(sout, a[i]);
strcat(sout, " ");
        }
strcat(sout, a[k]);
printf("\n\nMassiv: %s", sout);
return 0;
    }



Подсчитывание количества слов в тексте, проверку заданного слова и смещение двух слов с заданными номерами, я смог сделать (а остальное я не понял, как можно реализовать), но чтобы я не делал компилятор всё равно выдаёт ошибку...
Ответы (5)
ava
Hetls | 17.11.2016, 08:18 #
неужто никто не поможет?(
ava
bsa | 17.11.2016, 12:49 #
ava
Hetls | 17.11.2016, 19:14 #
Тему прошу удалить, так как она не актуальна уже.
ava
goodtext.goodtext | 18.11.2016, 00:05 #
Это код на С или С++?Не знаю Си.
ava
Hetls | 18.11.2016, 11:33 #
Цитата (goodtext.goodtext @ 18.11.2016,  00:05)
Это код на С или С++?Не знаю Си.



Этот ответ добавлен с нового Винграда - http://vingrad.com

http://forum.vingrad.ru/forum/topic-389873.html вот актуальная тема
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить