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

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

Войти
Регистрация
Восстановить пароль
 
krolex
9 / 9 / 1
Регистрация: 27.01.2010
Сообщений: 63
#1

Написать программу, обеспечивающую ввод строк и обмен местами слов максимальной и минимальной длины в каждой - C++

01.05.2010, 20:50. Просмотров 565. Ответов 0
Метки нет (Все метки)

не могу понять что в проге не так,на данный момент "по идеи" прога должна разбить строку на много много слов)))но пока не работает даже эта малая часть всего.....помогите плиз понять что нетак....заранее спасибо))

вот общее задание:

Дана последовательность строк.
Каждая строка состоит из слов, разделенных пробелами.
Написать программу, обеспечивающую ввод строк и их корректировку.
Корректировка заключается в обмене местами слов максимальной и минимальной длины в каждой строке.
Если сре-ди слов строки есть несколько таких слов, то в обмене участвуют только первые обнаруженные слова.
Вывести на печать исходную и скорректированную последовательности строк.


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
51
52
53
54
55
56
57
58
59
60
61
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h> 
#include <stdlib.h>
 
 
 
struct st // Объявление структуры st
{
    char *str;//stroki
}
struct st1 // Объявление структуры st1
{
    char *str1,*token1;//str1-kopija stroki,tokeni
};
struct ptr // Объявление структуры ptr
{
    char *ptr1,*maxtoken,*mintoken,*token;
};
st mas[5];
st1 mas1[5];
ptr mas2[50];
int i;
char seps[] = " ";
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    for (int i=0;i<5;i++)
    {
        mas[i].str=new char[100];
        mas1[i].str1=new char[100];
 
        printf ("vvedite stroku: %d=",i);//zapros na vvod stroki
        gets(mas[i].str);//s4itivanie stroki
        mas1[i].str1=mas[i].str;//sozdanie kopii dla raboti s nej
        printf ("stroka : %d = %s\n",i,mas1[i].str1);//vivod kopii dla kontrolja
        puts("--------------------------kopija---------------------");
    }
 
    for (int i=0;i<5;i++)
    {
        mas1[i].token1=new char[100];
        mas1[i].token1 = strtok( mas1[i].str1, seps );//запоминание первого слова в переменную token
 
        int s=0;
        mas2[s].ptr1=strchr(mas1[i].str1,' ');//указатель на первый пробел после первого слова
        mas2[s].ptr1++;
        while (mas2[s].ptr1 != NULL) //poka ukazatel ne na konec stroki
        {
            mas2[s].token=strtok( mas2[s].ptr1, seps );//запоминание 2-50 слова в токен
 
            mas2[s+1].ptr1=strchr(mas2[s].ptr1,' ');//ustanovka ukazatela na next slovo -probel
            mas2[s+1].ptr1++;//ustanovka na next slovo
            s++;
        }
    }
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2010, 20:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, обеспечивающую ввод строк и обмен местами слов максимальной и минимальной длины в каждой (C++):

Поменять местами слово максимальной и минимальной длины. - C++
Поменять местами слово максимальной и минимальной длины. строки char*. Как это можно сделать? Слова в строке разделены пробелом или...

Определить в предложении слова максимальной и минимальной длины и поменять их местами. C - C++
Доброе время суток!:) Уважаемы программисты, помогите, пожалуйста решить задачу: Дана строка предложение. Определить в предложении слова...

Написать программу для определения максимальной и минимальной суммы двух соседних элементов массива - C++
Дан массив целых чисел Написать программу для определения максимальной и минимальной суммы двух соседних элементов массива

В файле заменить все слова максимальной длины на слова минимальной длины - C++
Нужно в считанном из файла тексте заменить все слова максимальной длины на слова минимальной длины, а результат записать в новый файл....

Слово максимальной длины заменить на слово минимальной длины - C++
Задача: Создать 2 объекта разработанного класса. Одной из компонент класса является символьная строка. В результате выполнения программы...

В предложении поменять местами слова с максимальной и минимальной длинами - C++
Для решения задачи необходимо подобрать подходящую динамическую структуру данных. В предложении поменять местами слова с максимальной и...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2010, 20:50
Привет! Вот еще темы с ответами:

В каждой строке найти слово минимальной длины - C++
у меня дан код программы не могу его дописать на С задача такова даны строки в каждой строке нужно найти минимальное слово длиной и...

Написать функцию, обеспечивающую интерактивный ввод с клавиатуры дробного числа - C++
Написать функцию, обеспечивающую ввод с клавиатуры дробного числа. При нажатии клавиши соответствующий символ должен появляться на экране...

Написать функцию, обеспечивающую интерактивный ввод с клавиатуры дробного числа - C++
Написать функцию, обеспечивающую ввод с клавиатуры дробного числа. При нажатии клавиши соответствующий символ должен появляться на экране...

Вывод двух слов максимальной длины - C++
Дан файл со словами,требуется вывести на экран два слова максимальной длины. Имеется программа для вывода одного слова,для двух вот никак...


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

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

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