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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ разделить числа, и записать их как массив http://www.cyberforum.ru/cpp-beginners/thread124185.html
Добрый вечер! Подскажите пожалуйста, как можно, имея, например, файл с последовательностью чисел 2 7 4 3, разделить числа, и записать их как массив.
C++ Создание проекта Проблема вот в чем: запускаю вижуал студио, создаю новый проект, на экране: // 000000000.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { Console::WriteLine(L"Hello World"); http://www.cyberforum.ru/cpp-beginners/thread124183.html
C++ система компьютерного обучения
Уважаемые гуру! Написал прогу САБЖ. Юзер вводит ответ на пример, который задает программа. Если ответ true - выводит рандомно реплики по типу "Хорошо" или "Молодец" и так далее и задает следующий пример. Если ответ false - выводит рандомно реплики по типу "Нет!" или "ЕЩЕ РАЗ!" и так далее и задает тот же вопрос(до получения правильного ответа). Просмотрите пжлст код, если не сложно, и подскажите...
из паскаля в С++ C++
Здравствуйте! Помогите пожалуйста перевести код программы в паскале на С++: Program Example; uses crt; Type mas=array of Integer; var a,m: mas; n,s,k,mini: Integer; Procedure Vvod(var a: mas); var i: Integer; begin Writeln('Введите количество элементов');
C++ Рисования графика http://www.cyberforum.ru/cpp-beginners/thread124143.html
Есть функция y=x, надо построить график функции интервал например
C++ Формулы Гаусса и Ньютона-Котеса Всем тем кто читает мою тему!!! Привет!!! Я очень надеюсь на вашу помощь,и искренне верю что кто-нибудь мне поможет!!! Народ выручайте,я совсем не понимаю С++ и Визуал Студио,а мне вот через 1 неделю здавать,а как и че делать я не знаю,вообще ни как,у меня даже примера нет=((( Вот мое задание(фотки моего задания): http://www.cyberforum.ru/attachment.php?attachmentid=28543&stc=1&d=1272712542... подробнее

Показать сообщение отдельно
krolex
9 / 9 / 1
Регистрация: 27.01.2010
Сообщений: 63
01.05.2010, 20:50     Написать программу, обеспечивающую ввод строк и обмен местами слов максимальной и минимальной длины в каждой
не могу понять что в проге не так,на данный момент "по идеи" прога должна разбить строку на много много слов)))но пока не работает даже эта малая часть всего.....помогите плиз понять что нетак....заранее спасибо))

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

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


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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru