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

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

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

Заменить в каждой строке элементы с наибольшим значением нулём - C++

29.06.2011, 12:39. Просмотров 310. Ответов 7
Метки нет (Все метки)

Дан текстовый файл, состоящий из одной или нескольких строк. Каждая строка файла содержит числа,разделенные пробелами. Заменить в каждой строке элементы с наибольшим значением нулём. Создать файл, который будет содержать данные исходного файла, а затем данные преобразованного файла.
Пожалуйста. . .
Очень надо. . .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2011, 12:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить в каждой строке элементы с наибольшим значением нулём (C++):

Заменить в каждой строке файла элементы с наибольшим значением нулем - C++
Дан текстовый файл,состоящий из одной или нескольких строк. Каждая строка файла содержит числа, разделенные пробелами. Заменить в каждой...

Все элементы с наибольшим значением в данной матрице заменить нулями - C++
Все элементы с наибольшим значением в данной целочисленной квадратной матрице порядка 10 заменить нулями. не могу понять как делать,...

Все элементы с наибольшим значением в целочисленной квадратной матрице порядка 10 заменить нулями - C++
Все элементы с наибольшим значением в целочисленной квадратной матрице порядка 10 заменить нулями.

Все элементы с наибольшим по модулю значением в целочисленной квадратной матрице заменить нулями - C++
Задание: все элементы с наибольшим по модулю значением в целочисленной квадратной матрице порядка N заменить нулями. Текст проги: ...

В каждой строке матрицы заменить на 0 все элементы до первого отрицательного элемента - C++
Доброго времени суток! Помогите, пожалуйста, с задачей: Среда CodeGear RAD Studio 2009. Разработать алгоритм и отладить программу,...

Функции на С: в последовательностях все члены, следующие за членом с наибольшим значением, заменить на 0,5 - C++
Даны действительные числа a1, …, an, b1, …, bm. В последовательности a1, …, an и в последовательности b1, …, bm все члены, следующие за...

7
BoBa
36 / 2 / 2
Регистрация: 16.06.2011
Сообщений: 15
29.06.2011, 13:18 #2
Заменить в каждой строке файла элементы с наибольшим значением нулем

Перестаньте так делать.
0
sandye51
программист С++
684 / 586 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
29.06.2011, 17:27 #3
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
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define STRING_LEN 80
#define MAX_FNAME_LEN 256
 
int main()
{
    char fileNameIn[MAX_FNAME_LEN], fileNameOut[MAX_FNAME_LEN];
    FILE* fileIn = NULL, *fileOut;
 
    printf("Enter the file name for reading numbers\n");
    scanf("%s", fileNameIn);
 
    if ((fileIn = fopen(fileNameIn, "r")) == NULL)
    {
        perror("Bad file name. Can't open file\n");
        _getch();
        return EXIT_FAILURE;
    }
 
    printf("Enter the file name for writing numbers\n");
    scanf("%s", fileNameOut);
 
    if ((fileOut = fopen(fileNameOut, "w")) == NULL)
    {
        perror("Bad file name. Can't open file\n");
        _getch();
        return EXIT_FAILURE;
    }
 
    while(!feof(fileIn))
    {
        char buffer[STRING_LEN], *buf_num = NULL;
        double number[STRING_LEN];
        unsigned int count = 0, iMax = 0, i = 1;
 
        fgets(buffer, STRING_LEN, fileIn);
 
        buf_num = strtok(buffer, " ");
        while(buf_num)
        {
            number[count++] = atof(buf_num);
            buf_num = strtok(NULL, " ");
        }
 
        for ( ; i < count; ++i)
            if (number[iMax] < number[i])
                iMax = i;
        number[iMax] = 0;
 
        for (i = 0; i < count; ++i)
            fprintf(fileOut, "%lf ", number[i]);
        fprintf(fileOut, "\n");
    }
 
    fclose(fileOut);
    fclose(fileIn);
 
    _getch();
    return EXIT_SUCCESS;
}
2
Lizo4ka
1 / 1 / 0
Регистрация: 28.06.2011
Сообщений: 16
30.06.2011, 09:35  [ТС] #4
Спасибо большое..._)программа требует путь файла,ввожу и он его не находит(
0
sandye51
программист С++
684 / 586 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
30.06.2011, 13:42 #5
Lizo4ka, значит не правильно вводите
надо вводить полный путь, если файл и программа находятся в разных директориях. Пример
C:\\file.txt
либо просто имя файла, если в одной и той же директории
1
Lizo4ka
1 / 1 / 0
Регистрация: 28.06.2011
Сообщений: 16
01.07.2011, 09:47  [ТС] #6
С этим разобралась))спасибо))теперь вопрос...как можно сделать целыми числами преобразованные файлы??в каком месте нужно поставить это условие?
0
sandye51
программист С++
684 / 586 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
01.07.2011, 14:11 #7
Lizo4ka, double изменить на int, и "%lf" на "%d"
0
Lizo4ka
1 / 1 / 0
Регистрация: 28.06.2011
Сообщений: 16
02.07.2011, 11:11  [ТС] #8
Спасибо большое)вы мне очень помогли)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2011, 11:11
Привет! Вот еще темы с ответами:

Дана действительная матрица размером пхт, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих ч - C++
Прошу помощи) Задана такая работа: Дана действительная матрица размером пхт, все элементы которой различны. В каждой строке...

В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5. - C++
Даны действительные числа а1,…,an, b1,…,bm. В последовательности а1, ..., an и в последовательности b1,…,bm все члены, следующие за...

Поменять местами строку с наибольшим значением со строкой с наименьшим значением - C++
#include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;time.h&gt; using namespace std; void main() {

Найти в каждой строке матрицы элемент с максимальным и минимальным значением - C++
Дана матрица F(4,4). Найти в каждой строке матрицы элемент с максимальным и минимальным значением. Поставьте максимальный элемент на первое...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
02.07.2011, 11:11
Ответ Создать тему
Опции темы

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