Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
9 / 9 / 2
Регистрация: 27.01.2010
Сообщений: 63
1

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

01.05.2010, 20:50. Просмотров 1078. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2010, 20:50
Ответы с готовыми решениями:

Используя цикл, написать программу обеспечивающую ввод n вещественных чисел и выводящую на экран числа с минимальной и м
Используя цикл, написать программу обеспечивающую ввод n вещественных чисел и выводящую на экран...

Напишите программу, которая во введенном предложении меняет местами слова минимальной и максимальной длины.
Напишите программу, которая во введенном предложении меняет местами слова минимальной и...

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

Поменять местами подстроки минимальной и максимальной длины
Дана строка длиной не более 40 символов. Строка разделена точками на подстроки. Поменять местами...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2010, 20:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Поменять местами слова максимальной и минимальной длины в строке
Задание: Дана строка. Подсчитать количество символов в каждом слове. Сформировать новую строку,...

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

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

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


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

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

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