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

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

Войти
Регистрация
Восстановить пароль
 
Uka4me
1 / 1 / 0
Регистрация: 08.05.2013
Сообщений: 12
#1

Третье по величине значение - C++

08.05.2013, 17:42. Просмотров 216. Ответов 0
Метки нет (Все метки)

В массиве из 10 целых чисел, найти третье по величине(наибольшее) число.

На входе:
1000
1 1 2 3 4 5 6 7 8 9 1000
2 338 304 619 95 343 496 489 116 98 127
3 931 240 986 894 826 640 965 833 136 138
4 940 955 364 188 133 254 501 122 768 408
5 42 468 335 501 170 725 479 359 963 465

на выходе:
1 8
2 489
3 931
4 768
5 501

Где-то в моей программе есть ошибка вычисления этого числа, помогите, пожалуйста, найти ее. Вручную перебираю массивы, вроде правильно программа выдает.

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <sstream>
#include <string.h>
using namespace std;
int zzz = 0;
void WriteFile1(char* file_name, string str[])
{
     ofstream wr(file_name); 
     for(int i=0;i<zzz;i++)
     if(i != zzz-1)
        wr<<(i+1)<<" "<<str[i]<<"\n";
     else
         wr<<(i+1)<<" "<<str[i];
}
 
string Sort(int a[])
{
 for (int i = 1; i < 11; i++)
 {
       for (int j = i+1; j < 11; j++)
          if (a[i] < a[j])
          {
             int buf = a[i];
             a[i] = a[j];
             a[j] = buf;
          }  
 }
   std::stringstream ss;
    std::string s;
    ss << a[3];
    s = ss.str();
   return s;            
}
 
void ReadFile1(char* file_name)
{
  string line;
  int mas[11];
  string rmas[2000];
  
  ifstream myfile(file_name);
  if (myfile.is_open())
  {
    getline(myfile,line);
    while ( myfile.good() )
    {
      getline(myfile,line);
      
      
     char *p = strtok(const_cast <char*> (line.c_str()), " " );
     int t=0;
     while (p != '\0')
     {
      mas[t] = atoi(p);
      p = strtok (NULL, " ");
      t++;
      }
      rmas[zzz] = Sort(mas);
      zzz++;
    }
    myfile.close();
  }      
  
 
  WriteFile1("output.txt",rmas);
}
 
int main(int argc, char *argv[])
{
    ReadFile1("input.txt");
    //system("PAUSE");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2013, 17:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Третье по величине значение (C++):

Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение - C++
Работа с массивами:

Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение - C++
Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение ...

Почему в массив из двух элементов можно ввести третье значение? - C++
Объясните пожалуйста почему работает программа у нас ведь массив us из 2-х элементов а он позволяет ввести 3-его? #include...

найти значение третьего по величине элемента массива - C++
найти значение третьего по величине элемента массива размерность массива 200 диапазон значений 0-100 Добавлено через 1 час 11 минут...

Определить значение второго по величине элемента в последовательности чисел - C++
Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Определите значение второго по величине элемента в...

Цикл while: Определить значение второго по величине элемента в этой последовательности - C++
2)Последовательность состоит из различных натуральных чисел и завершается числом 0. Определите значение второго по величине элемента в этой...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2013, 17:42
Привет! Вот еще темы с ответами:

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

среди чисел k,l,r два одинаковых,а в третье отлично от них.Переменной n присвоить значение числа,отличного от двух одинаковых - C++
среди чисел k,l,r два одинаковых,а в третье отлично от них.Переменной n присвоить значение числа,отличного от двух одинаковых

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

Как записать третье условие - C++
Как записать третье условие if? Оно почему-то не срабатывает совсем, если пишу число больше 100 или меньше 1... Задание: напишите код,...


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

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

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