1 / 1 / 2
Регистрация: 01.08.2013
Сообщений: 103
1

Строки(обработка двумерных массивов)

14.11.2013, 18:23. Показов 1530. Ответов 1
Метки нет (Все метки)

Ребят помогите пожалуйста есть задачка:
В строке из 50 символов отдельные слова разделены пробелом. Упорядочить строку так, чтобы каждое следующее слово было не короче предыдущего.
Написал как подсчитать слова а дальше не могу
#include<stdio.h>
#include<string.h>
void main()
{
char s[50],d[50];
int i=0,j=0,bw,ew,len;
gets(s); len=strlen(s);
while (i<len)
{
while((s[i]==' ')&&(i<len)) i++;
bw=i;
while((s[i]!=' ')&&(i<len)) i++;
ew=i;
strncpy(d,&s[bw],ew-bw+1);
d[ew-bw+1]=0;
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2013, 18:23
Ответы с готовыми решениями:

Обработка двумерных массивов
Заполнить случайным образом целыми числами из диапазона двумерный массив, содержащий 6х9 элементов...

Обработка двумерных массивов
Всем доброй ночи. Решаю задачу по информатике, на обработку двумерных массивов. Программу...

Обработка двумерных массивов в C++
Помогите переделать код,чтобы я смог использовать #define и вводить любые значения(строк,столбцов)...

Обработка двумерных массивов
3*7 размер массива

1
95 / 747 / 279
Регистрация: 11.04.2012
Сообщений: 971
14.11.2013, 19:40 2
Лучший ответ Сообщение было отмечено tibeg как решение

Решение

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
typedef struct Word
{
    char word[256];
    int length;
} WORD;
 
template<class T>
void swap(T& p1, T& p2)
 { T _tp = p1; p1 = p2; p2 = _tp; }
 
int main(int argc, char* argv[])
{
    static char str1[256] = "c++ is object oriented programming language\0";
    static char str2[256] = "\0";
 
    printf("str1 = %s\n", str1);
 
    WORD* pWords = new WORD[256];
    memset((void*)pWords, 0x00, sizeof(WORD) * 256);
 
    char* ws = strtok(str1," ");
    for (int i = 0; ws != NULL; i++)
    {
        strcpy(pWords[i].word, ws);
        pWords[i].length = strlen(pWords[i].word);
        ws = strtok(NULL, " ");
    }
 
    for (int t = 0; strcmp("\0",pWords[t].word) < 0; t++)
    {
        int min = t;
        for (int k = t+1; strcmp("\0",pWords[k].word) < 0; k++)
            min = (pWords[k].length < pWords[min].length) ? k : min;
 
        swap<WORD>(pWords[min],pWords[t]);
    }
 
    for (int r = 0; strcmp("\0",pWords[r].word) < 0; r++)
        sprintf(str2, "%s %s",str2,pWords[r].word);
 
    printf("str2 = %s\n", str2);
 
    _getch();
 
    return 0;
}
Миниатюры
Строки(обработка двумерных массивов)  
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2013, 19:40

Обработка двумерных динамических массивов
1. Составить программу в которой для введенного пользователем двумерного массива, выводится сумма...

Обработка двумерных массивов. Указатели.
помогите сделать. буду благодарен с алгоритмами(блок-схемами)

Обработка двумерных динамических массивов
Помогите написать программу Даны два двумерных динамических массива одинакового размера. Создать...

Обработка двумерных массивов данных
Из произвольно заданной матрицы размера 5*5 сформировать построчный одномерный массив из...


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

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

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