Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
skyd
0 / 0 / 0
Регистрация: 19.06.2016
Сообщений: 7
1

Отбрасывание максимальных элементов в массиве

29.06.2016, 01:13. Просмотров 342. Ответов 2
Метки нет (Все метки)

Я открываю файл, считываю 2 массива из 20 точек - точки х и y. Далее мне нужно найти и отбросить 4 точки с максимальными иксами и соответствующими им игриками. Я решила присвоить значения им -1, чтобы потом на экран вывести только положительные. Но на практике у меня не очень получается. Помогите, пожалуйста.
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
#include <iostream>
#include < stdio.h > 
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    const int N = 20;
    FILE *f1, *f2;
    f1 = fopen("file1.txt", "r");
    int x[N];
    int y[N];
    int i;
    cout << "Сканируем файл" << endl << endl;
    for (i = 0; i < N; i++) {
        fscanf(f1, "%d  %d", &x[i], &y[i]);}
    int max;
    int max1;
    max = x[0];
    for (i = 1; i < N; i++) {
        if (x[i] > max) {
        max=x[i];
        x[i] = -1;
        y[i] = -1;
        }
    }
    for (i = 0; i < N; i++) {
                if(x[i]!=-1){
        printf("%d\n", x[i], y[i]);
    }}
    fclose(f1);
    system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2016, 01:13
Ответы с готовыми решениями:

В массиве найти пять максимальных элементов
Дан массив А на Н элементов (Н-константа). В массиве найти пять максимальных...

Определить количество максимальных элементов в массиве
Постановка задачи: Дан двумерный массив. Определить: а) Количество...

Поиск двух максимальных элементов в одномерном массиве
Доброго времени суток! Имеется целочисленный одномерный массив. Нужно найти...

Определить количество минимальных и максимальных элементов в одномерном массиве
Добрый вечер! Прошу помочь мне написать небольшую программу в C, сам начал...

Функции: Определить количество максимальных / минимальных элементов в массиве
Здравствуйте! Есть программа, которая вычисляет количество максимальных и...

2
HighPredator
5692 / 2011 / 723
Регистрация: 10.12.2010
Сообщений: 5,778
Записей в блоге: 3
29.06.2016, 08:56 2
skyd, вы на си или с++ пишете в итоге? Потому, что у вас код представляет собой какую-то смесь.
0
LFC
730 / 535 / 416
Регистрация: 17.09.2015
Сообщений: 1,598
29.06.2016, 09:31 3
skyd, если отбросить нужно 4 элемента имеет смысл завести массив размером 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
#include <stdio.h>
#include <stdlib.h>
#define N 20
#define M 4
int main()
{
    int x[N] = {7,4,55,2,34,37,87,11,23,92,97,66,71,81,27,30,67,96,54,33};
    int y[N] = {72,41,56,12,36,3,7,12,21,52,9,64,72,82,2,0,37,9,55,3};
    int a[M] = {0,1,2,3}, k, i, IndexMin, min, z, flag;
    for (i = M; i < N; i++) {
        min = x[a[0]];
        IndexMin = a[0];
        z = 0;
        for(k = 0; k < M; ++k){
            if(x[a[k]] < min){
                min = x[a[k]];//находим минимальный элемент из четырех
                IndexMin = a[k];//запоминаем его индекс
                z = k;
            }
        }
        if (x[i] > x[IndexMin])//если очередной элемент массива х больше минимального из массива а
            a[z] = i;//то записываем его индекс на место минимального
    }//т.е.в массиве а всегда хранятся индексы четырех наибольших из перебраных элементов массива х
    for (i = 0; i < N; i++){
        flag = 0;
        for(k = 0; k < M; ++k){
            if(x[i] >= x[a[k]])
                flag = 1;
        }
        if(!flag)
            printf("%d %d\n", x[i], y[i]);
    }
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2016, 09:31

В двумерном массиве найти сумму максимальных элементов его столбцов
Здравствуйте . Задание: В двумерном массиве A найти сумму максимальных...

Блок схема к исходнику определения значения и количества максимальных элементов в массиве
Условие: Определить значения и количество максимальных элементов в массиве, и...

Отсортировать массив по возрастанию. Найти максимальные в массиве, который будет создан после удаления всех максимальных элементов
Условие: Отсортировать массив по возрастанию. Найти максимальные в массиве,...


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

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

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