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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 5.00
AI-99
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 19
#1

Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. - C++

08.05.2010, 22:32. Просмотров 2396. Ответов 9
Метки нет (Все метки)

Люди помогите, пожалуйста.
Дана такая задача:
Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. Например, если a=25, b=730,c=127,d=1995, то должна напечататься цифра 7.

Я написал вот такую программу:
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
#include <iostream.h>
#include <stdio.h>
#include <string.h>
void main ()
    {int i;
    char a[10],b[10],c[10],d[10],s1[2] = "",s2[2] = "",s3[2] = "",s4[2] = "";
    cout << "Vvedite a";
    cin >> a;
    cout << "Vvedite b";
    cin >> b;
    cout << "Vvedite c";
    cin >> c;
    cout << "Vvedite d";
    cin >> d;
 
    {strncpy (s1,a,1);
    strncpy (s2,b,1);
    strncpy (s3,c,1);
    strncpy (s4,d,1);
    }
 
    char max[5];
    strcpy (max,s1);
    i = strcmp (s2,max);
    if (i==1) strcpy (max,s2);
    i = strcmp (s3,max);
    if (i==1) strcpy (max,s3);
    i = strcmp (s4,max);
    if (i==1) strcpy (max,s4);
    cout << max << "\n";
}
И мне нужно переделать её так, чтобы наибольшую цифру вычисляла функция и возвращала это значение в программу.
Я попытался это сделать:

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
#include <iostream.h>
#include <stdio.h>
#include <string.h>
char F1 (char e,char max1)
{int i = strcmp (e,max1);
if (i==1) strcpy (max1,e);
{return max1;};
}
void main ()
    {char a[10],b[10],c[10],d[10],s1[2] = "",s2[2] = "",s3[2] = "",s4[2] = "",max[2],d1,d2,d3;
    cout << "Vvedite a";
    cin >> a;
    cout << "Vvedite b";
    cin >> b;
    cout << "Vvedite c";
    cin >> c;
    cout << "Vvedite d";
    cin >> d;
 
    {strncpy (s1,a,1);
    strncpy (s2,b,1);
    strncpy (s3,c,1);
    strncpy (s4,d,1);
    }
    
    strcpy (max,s1);
    d1=F1(s2,max);
    d2=F1(s3,F1(s2,max));
    d3=F1(s4,F1(s3,F1(s2,max)));
    cout << max;
}
но у меня выдаётся куча ошибок.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2010, 22:32     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел.
Посмотрите здесь:

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

Циклические вычислительные процессы (Дано натуральное число N. Вывести на экран все шестизначные числа, сумма цифр которых равна N) - C++
Задача предполагает использование целочисленной арифметики и должна быть реализована во втором проекте. Дано натуральное число N. Вывести...

Вывести на экран 1 или 0 в зависимости от того, есть ли среди первых трех цифр дробной части заданного положительного вещественного числа цифра ноль - C++
Вывести на экран 1 или 0 в зависимости от того, есть ли среди первых трех цифр дробной части заданного положительного вещественного числа...

Вывести на экран все шестизначные числа, сумма цифр которых равна N и сообщить количество таких чисел - C++
Дано натуральное число N. Вывести на экран все шестизначные числа, сумма цифр которых равна N и сообщить количество таких чисел.(помогите...

Вывести на экран все двузначные числа, делящиеся на каждую из своих цифр и подсчитать количество таких чисел - C++
Составить программы для решения следующих задач (выполните задание двумя способами: с использованием одного цикла и с использованием...

Вывести на экран 10 первых простых чисел - C++
Вывести на экран 10 первых простых чисел. Числа хранить в массиве. Проверку, является ли число простым, оформить в виде функции.

вывести на экран n первых чисел Фибоначчи - C++
Помогите написать программу в Visual Studio 2008. Вывести на экран n первых чисел Фибоначчи. Для вычисления n-го числа использовать...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
08.05.2010, 23:24     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. #2
Идея бредовая конечно. Низкоуровневая так сказать. Разбей на сотни, деятки и целые, а потом сравни, что больше, то и выведи.
AI-99
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 19
09.05.2010, 00:40  [ТС]     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. #3
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
Разбей на сотни, деятки и целые, а потом сравни, что больше, то и выведи.
А не подскажете как это сделать?
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
09.05.2010, 00:52     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. #4
ну для примера с числом а:
if(a<=100)
a/=100;
if(a<=1000)
a/=1000;

тут даже не нужен массив char просто используй int
MikeSoft
Эксперт С++
3792 / 1774 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
09.05.2010, 01:22     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. #5
AI-99, написал простенькую программу. Одно число сделал я за вас... а вы - по примеру сделайте остальные:

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
//---------------------------------------------------------------------------
#include <iostream.h>
#include <conio.h>
//---------------------------------------------------------------------------
int main()
{
  int x = 0, digit = 0, count = 0;
 
  cout << "Input value: ";
  cin >> x;
 
  while (x != 0) {
    digit = x;
    x = int(x/10);
    count++;
  }
  cout << "Number of digits: " << count << endl;
  cout << "Last digit: " << digit << endl;
 
  getch();
 
  return 0;
}
//---------------------------------------------------------------------------
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
09.05.2010, 01:36     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. #6
AI-99, держи:
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
#include <iostream>
 
inline int Max(int n1, int n2) {
  return n1 > n2? n1 : n2;
}
 
int LastDigit(int n) {
  int result = 0;
 
  while(n != 0) {
    result = n % 10;
    n /= 10;
  }
 
  return result;
}
 
int main() {
  int a;
  std::cout << "a = ";
  std::cin >> a;
 
  int b;
  std::cout << "b = ";
  std::cin >> b;
 
  int c;
  std::cout << "c = ";
  std::cin >> c;
 
  int d;
  std::cout << "d = ";
  std::cin >> d;
 
  int max_digit = LastDigit(a);
      max_digit = Max(max_digit, LastDigit(b));
      max_digit = Max(max_digit, LastDigit(c));
      max_digit = Max(max_digit, LastDigit(d));
 
  std::cout << "Max: " << max_digit << std::endl;
 
  return 0;
}
easybudda
Эксперт CЭксперт С++
9461 / 5474 / 927
Регистрация: 25.07.2009
Сообщений: 10,496
09.05.2010, 03:06     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. #7
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
 
void cut_to_one_digit(int& val){
    int div;
    if ( val < 0 )
        val *= -1;
    for ( div = 10; val / div > 0; div *= 10 )
        ;
    val = val * 10 / div;
}
 
int main(){
    int needed = 4, tmp;
    std::vector<int> vec;
    
    std::cout << "Enter " << needed << " numbers:" << std::endl;
    while ( needed-- ){
        std::cout << "Number (" << needed << " left) > ";
        std::cin >> tmp;
        vec.push_back(tmp);
    }
    std::for_each(vec.begin(), vec.end(), cut_to_one_digit);
    std::cout << "Greatest first digit is " << *(std::max_element(vec.begin(), vec.end())) << std::endl;
    
    return 0;
}
AI-99
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 19
10.05.2010, 00:27  [ТС]     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. #8
Спасибо! Вроде бы разобрался.
magaaa
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 3
27.11.2012, 10:55     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. #9
Здравствуйте!) а не могли бы вы эту задачу переписать на паскаль!? Потому что мне ее надо накодить на Кумире а С я вообще не понимаю...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2012, 18:01     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел.
Еще ссылки по теме:

Вывести на экран N первых нечетных положительных чисел - C++
Дано число N (N&gt;0). Вывести на экран N первых нечетных положительных чисел (не используя логические операторы). Использовать цикл while.

Вывести на экран N первых нечетных положительных чисел - C++
Дано число N (N&gt;0). Вывести на экран N первых нечетных положительных чисел (не используя логические операторы). Использовать цикл for.

Найти n первых простых чисел, сумма цифр у которых меньше заданного числа - C++
Помогите написать программу! Условие: найти n первых простых чисел, сумма цифр у которых меньше заданного m.

Из трёх заданных чисел вывести на экран только отрицательные - C++
Даны три целых числа. Вывести на экран те из них, которые являются отрицательными

Дано натуральное n. Получить в порядке возрастания n первых натуральных чисел, которые не делятся ни на какие простые числа, кроме 2, 3 и 5 - C++
Дано натуральное n. Получить в порядке возрастания n первых натуральных чисел, которые не делятся ни на какие простые числа, кроме 2, 3 и...


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

Или воспользуйтесь поиском по форуму:
magaaa
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 3
28.11.2012, 18:01     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел. #10
уже всё сам сделал) спасибо за идею решения!)
Yandex
Объявления
28.11.2012, 18:01     Дано четыре числа. Вывести на экран наибольшую из первых цифр заданных чисел.
Ответ Создать тему
Опции темы

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