powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите с задачей по acmp.ru
9 сообщений из 9, страница 1 из 1
помогите с задачей по acmp.ru
    #38791980
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://acmp.ru/index.asp?main=task&id_task=7

Код: plaintext
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.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
#include <fstream>
//#include <iostream>
#include <string>

	using namespace std;

string deletenull( string value )
{
	size_t len_str_value = value.size();

	int index = 0;

	for( int i = 0; i < len_str_value; i++ )
	{
		if( value[ i ] == '0' )
		{
			index++;

		} else break;
	}

	value.erase( 0, index );

	return value;
};

string max( string value1, string value2 )
{
	if( value1[ 0 ] == '0' )
	{
		value1 = deletenull( value1 );
	}

	if( value2[ 0 ] == '0' )
	{
		value2 = deletenull( value2 );
	}

	size_t len_str_value1 = value1.size();
	size_t len_str_value2 = value2.size();

	if( len_str_value1 > len_str_value2 )
	{
		return value1;
	}
	else if( len_str_value1 < len_str_value2 )
	{
		return value2;
	}
	else
	{
		for( int i = 0; i < len_str_value1; i++ )
		{
			if( value1[ i ] < value2[ i ] )
			{
				return value2;
			}
			else
			{
				return value1;
			}
		}
	}

	return " ";
};

void main()
{
	ifstream if_file("input.txt");
	ofstream of_file("output.txt");

	string buffer[3];

	int tmp = 0, index = 0;

	while( !if_file.eof() && index < 3)
	{
		if_file>>buffer[ index++ ];
	}

	if( index == 2 ) {
		return;
	}

	of_file<< max( max( buffer[0] , buffer[1] ), buffer[2] ) <<endl;

	if_file.close();
	of_file.close();

//	cin.get();
};



где ошибка, подскажите пожалуйста.
...
Рейтинг: 0 / 0
помогите с задачей по acmp.ru
    #38791998
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

прошу прощения чуть не тут версию скинул.

вот в функции выглядит так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
		bool more = false;

		for( int i = 0; i < len_str_value1; i++ )
		{
			if( value1[ i ] < value2[ i ] )
			{
				more = true;
			}
			else
			{
				more = false;
			}
		}

		if( more )
			return value2;
		else
			return value1;
...
Рейтинг: 0 / 0
помогите с задачей по acmp.ru
    #38792005
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

ХЗ, но я эту задачу решал, когда был студентотой. Вот сорц говнокода оттуда

Код: plaintext
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.
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
#include <vector>
#include <cctype>
 
int mostex(char c1[100], char c2[100])
{
    for (int i = 0; i < strlen(c1); ++i) {
        if (c1[i] > c2[i])
            return 0;
        if (c1[i] < c2[i])
            return 2;
    }
    return 1;
}
 
int most(char c1[100], char c2[100])
{
    if (strlen(c1) > strlen(c2))
        return 0;
    if (strlen(c1) == strlen(c2))
        return mostex(c1, c2);
    if (strlen(c1) < strlen(c2))
        return 2;
}
 
void main()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    char c1[101], c2[101], c3[101];
    scanf("%s%s%s", c1, c2, c3);
    if (most(c1, c2) == 0) {
        if ((most(c1, c3) == 0) || (most(c1, c3) == 1)) {
            printf("%s", c1);
        }
        else {
            printf("%s", c3);
        }
    }
    else {
        if ((most(c2, c3) == 0) || (most(c2, c3) == 1)) {
            printf("%s", c2);
        }
        else {
            printf("%s", c3);
        }
    }
}


...
Рейтинг: 0 / 0
помогите с задачей по acmp.ru
    #38792046
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NekZ,

я так понял еще и знак нужно учитывать
...
Рейтинг: 0 / 0
помогите с задачей по acmp.ru
    #38792084
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

С чего вдруг? Там же написано
В первой строке входного файла INPUT.TXT записаны три натуральных числа через пробел.
Мой исходник прошёл все тесты.
...
Рейтинг: 0 / 0
помогите с задачей по acmp.ru
    #38792099
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

Мы недавно обсуждали тут эту задачу.
...
Рейтинг: 0 / 0
помогите с задачей по acmp.ru
    #38792102
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

я с вами не обсуждал эту задачу.
...
Рейтинг: 0 / 0
помогите с задачей по acmp.ru
    #38792158
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну конечно это был Сашик .
...
Рейтинг: 0 / 0
помогите с задачей по acmp.ru
    #38792973
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я помню :) проблема была с тем что система не поддерживала то, как я считывал данные, а MasterZiv предложил более оптимальное решение в итоге, и я узнал что такое контрольная печать. Задача не сложная.

Попробуйте лучше эту решить оптимальней.
Она тоже совсем простая.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите с задачей по acmp.ru
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]