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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.83
fatall
1 / 1 / 0
Регистрация: 15.01.2010
Сообщений: 97
14.03.2010, 03:55     Найти максимальный и минимальный элемент,их номера вывести на экран и посчитать сумму между максимальным и минимальным #1
Доброго время суток,помогите пожалуйста написать программку )если будет возможность то до
буду очень очень благодарен...
Во общем задание такое )
Прочитать из файла кол-во элементов массива
Найти максимальный и минимальный элемент,их номера вывести на экран и посчитать сумму между максимальным и минимальным,и записать результат в файл)
под старый преобразователь тоесть (BC) ))и если не трудно сделайте её без всяких наворотов)а простенькая что-бы была
В заранее спасибо!
PS: И если не затруднит напишите комментарий к каждой строчке..
Спасибо ещё раз (:
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2010, 03:55     Найти максимальный и минимальный элемент,их номера вывести на экран и посчитать сумму между максимальным и минимальным
Посмотрите здесь:

C++ Найти сумму элементов массива, расположенных между элементами с минимальным и максимальным значением
Если максимальный элемент находится левее минимального, то найти среднее арифметическое элементов, находящихся между максимальным и минимальным. C++
C++ В массиве А найти сумму элементов, расположенных между минимальным и максимальным элементами массива
Найти сумму элементов массива между максимальным и минимальным элементами C++
C++ Найти минимальный и максимальный элемент матрицы и вывести его на экран с указанием номеров их строк и столбцов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
14.03.2010, 06:54     Найти максимальный и минимальный элемент,их номера вывести на экран и посчитать сумму между максимальным и минимальным #2
каким образом в файле записаны элементы? через запятую или еще как-то?)
fatall
1 / 1 / 0
Регистрация: 15.01.2010
Сообщений: 97
14.03.2010, 20:28  [ТС]     Найти максимальный и минимальный элемент,их номера вывести на экран и посчитать сумму между максимальным и минимальным #3
Цитата Сообщение от Vorona Посмотреть сообщение
каким образом в файле записаны элементы? через запятую или еще как-то?)
21
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10

Вот так хоть...

Добавлено через 18 минут
В одномерном массиве

Добавлено через 3 часа 45 минут
Ну кто-нибудь может сделать?
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
15.03.2010, 05:39     Найти максимальный и минимальный элемент,их номера вывести на экран и посчитать сумму между максимальным и минимальным #4
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
#include<stdio.h>  //подключение библиотек
#include<conio.h>
#include<stdlib.h>
 
int main()
{
    clrscr();  //очистка экрана от предыдущих записей
 
    char fname[100], array[1000], arr[1000][8];  //объявление массивов типа char
    int i = 0, s = 0, j = 0, j1 = 0, num[1000], min, max;  //объявление переменных типа int
 
    for(i = 0; i < 1000; i++)   //обнуление массивов от предыдущих записей
        for(j = 0; j < 8; j++){
            arr[i][j] = 0;
            array[i] = 0;
            num[i] = 0;
        }
 
    printf("Enter file adress:\n");  //предложение ввести адрес файла
    FILE *fr;
    FILE *fw;
    gets(fname);  //ввод адреса файла
    fr = fopen(fname, "r");  //открытие файла для чтения
    fw = fopen(fname, "ab");  //открытие файла для записи в конец файла, для очистки файла и 
                                            //записи с нуля, вместо "abs" напиши "w"
    if(fr != NULL)  //если файл существует
        printf("File is opened:\n"); //извещаем, что файл открыт
    else{                                               //в другом случае
        printf("Error: This file doesn't exist"); //выводится текст об ошибке
        getch();                                       //программа ждет нажатия любой кнопки
        return 0;                                       //выход из программы
    }
    i = 0; j = 0;
    while(!feof(fr))   //пока не достигнут конец файла при считывании символов, 
        array[i++] = getc(fr);   //все из файла записываем в массив
    for(s = 0; s < i; s++)            //от нулевого до последнего элемента массива, который записали с файла,
        printf("%c", array[s]);  //выводим массив на экран по-элементно
 
    for(s = 0; s < i; s++){    //считываем наш массив
        while(array[s] != ' '){ // и пока не встретится пробел,
            arr[j][j1++] = array[s++]; //переписываем каждый элемент массива в строку № i 
                                                           //нового двумерного массива с которым дальше будем работать
                                  //суть в том, чтобы каждый номер был расписан отдельно как строка для дальнейшей работы с ним
        }
            j++;  //когда встречается пробел в начальном массиве, мы начинаем запись нового элемента в новую строку
            j1 = 0;  //начинаем строку с нулевого элемента
    }
    printf("\nArray of numbers:\n");
    for(i = 0; i < j; i++){    //в этом цикле начинаем переводить строку в целочисленную переменную типа int
        num[i] = atoi(arr[i]);  //функция перевода строки в число, перводим массив строк в массив символов
        printf("%d ", num[i]);  //выводим на экран уже число, чтоб убедиться, что все правильно
    }
    printf("\nQuantity of elements in array: %d\n", i);  //выводим количество элементов на экран
        max = num[0];  //максимальное значение элемента присваеваем первому элементу массива чисел
    for(j = 0; j < i; j++)  //начинаем по очереди пересматривать каждый элемент
        if(num[j] > max)  //если значение данного элемента больше максимального значения
            max = num[j]; //тогда этому элементу присваеваем максимальное значение и т.д.
    printf("\nMaximum: %d\n", max);  //выводим максимальное значение элемента массива н экран
    min = num[0];  // то же самое проделываем с минимальным значением
    for(i = 0; i < j; i++)
        if(num[i] < min)
            min = num[i];
    printf("Minimum: %d\n", min);
    printf("Sum of min + max: %d", min + max); //вывод суммы на экран
        fprintf(fw, "Result: %d", min+max); //записываем результат сложения максимального и минимального элемента в конец файла
 
    fclose(fr); //закрываем файл для чтения
    fclose(fw);  //закрываем файл для записи
    getch();  //программа ждет нажатия любой клавиши
    return 0; //окончание программы
}
сумма максимального и минимального значения записываются в конец того же файла
адрес файла писать в стиле C:\test.txt
Yandex
Объявления
15.03.2010, 05:39     Найти максимальный и минимальный элемент,их номера вывести на экран и посчитать сумму между максимальным и минимальным
Ответ Создать тему
Опции темы

Текущее время: 20:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru