• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Самое длинное цисло

  • Автор темы Vunderkind
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

Vunderkind

Вводится 3 числа.Нужно найти и вывести наибольшее из трех чисел,длина которых не должна быть больше 10^100 Напр:
Ввод
688285 283 95439238230983902
Вывод
95439238230983902
 
V

Vunderkind

вы пытались решать самостоятельно?

Да,я пытался решить самостоятельно,запустли цикл,поставил условие если цифра то получаю в массив,но у меня не получается взять с массива самое длинное число и вывести как показано в примере
 
V

Vunderkind

Код:
#include<iostream>
using namespace std;
int main(){
char mas[1000];
char a[1000];
cin>>a;
for(int i=0;i<strlen(a);i++)
if(isdigit(a[i])){
mas[i]=a[i];
..... а дальше как?
return 0;}
 
D

DarkKnight

Только что похожий пример писал... :)))
Только со словами ;-)
C++:
#include <iostream>
#include <ctype.h>

using namespace std;

int main()
{
int a;
char ch[1000];
cin.getline(ch,1000);

int Max = 0;
char buffer[128]; //Введем буферную переменную
memset(buffer,0,128); //Обнулим ее
char *pStr = buffer; //Введем указатель на буферную перемнную

char Result[128]; //Результирующее слово
memset(Result,0,128);

for (int i = 0; i <= strlen(ch); i++) //Обойдем всю строку включая завершающий символ
{
if ((unsigned char)isdigit(ch[i])) //Если символ циферный то
{
if (strlen(buffer) ==0 && ch[i]=='0') continue; //Если начальные символы нули их мы писать не будем
*pStr = ch[i]; //Посимвольно пишим символы в буфер из ch
pStr++; //Сдвиг указателя 
}
else if (strlen(buffer)) //Если же не циферный и в buffer - что то есть то
{
if (strlen(buffer) > Max)
{
strcpy(Result,buffer); //Скопируем из буфера в результат
Max = strlen(buffer);
}
memset(buffer,0,128); //Обнулим буферную переменную
pStr = buffer; //Установим указатель на начало буфера
}
}
cout<<"Result : '"<<Result<<"'"<<endl; //Выведим результат
cout<<"Result Format : ";
for (int i = 0; i<strlen(Result); i++)
{
cout<<Result[i];
if ((strlen(Result)-1-i)%3 == 0) cout<<" ";
}


}


Добавлено: Про самое длинное забыл... Щас....
 
D

DarkKnight

DarkKnight125
вы для себя так много комментариев в программах пишите или привычку вырабатываете? )) Тут-то ИМХО комментировать нечего. Я для студентов наоборот пытаюсь не комментировать, чтоб хоть чуть чуть разбираться пытались(сдавать ведь надо, вдруг спросят что это за строка...)
Да просто думаю rrrFer, что все же средне-статистический "автор сообщений" читает сначало комент, а потом код (если вообще читает ;-) ) а не копирует, ну и в любом случае даже если не разбирается, то на подсознательном уровне у него откладывается что то ;-) Ну и по степенно уже думать начинают....
Но это я так думаю)) Хотя иногда тут на форуме, начинаю сомневаться ;-))))))

2 Vunderkind, верни задание, так реально не дается......
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!