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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить сумму всех положительных чисел каждой строки массива http://www.cyberforum.ru/cpp-beginners/thread326997.html
Создать программу, которая вычисляет сумму всех положительных чисел каждой строки массива, и выдает ответ в массиве А. Массив В
C++ Вывод номеров страниц для заданного слова Написать программу, которая обеспечивает:  начальное формирование предметного указателя;  вывод предметного указателя;  вывод номеров страниц для заданного слова. Первый и второй пункт я нашел, остался третий=( Никак не могу, помогите пожалуйста=) #include "stdafx.h" #include <vector> #include <algorithm> http://www.cyberforum.ru/cpp-beginners/thread326987.html
C++ Отсортировать слова в файле по алфавиту и сохранить в файл
дан текстовый файл необходимо отсортировать слова по алфавиту и записать в файл Добавлено через 1 минуту помогите, выадет 4 ошибки не знаю как бороться с ними :\практики по программированию\идз\idz\1.cpp(77) : error C2062: type 'void' unexpected G:\практики по программированию\идз\idz\1.cpp(78) : error C2143: syntax error : missing ';' before '{' G:\практики по...
C++ Запись в бинарный файл
По заданию требуется организовать ввод данных типа структуры в бинарных файл , в соответствии с позицией, задаваемой пользователем. При этом пропуски между данными в файле заполняется нулями. #include "stdafx.h" #include <fstream> #include <iostream> #include <vector> #include "conio.h" using namespace std; struct scan_info{
C++ Одномерные массивы; на ЯП Си, среда – Borland C++5.02 http://www.cyberforum.ru/cpp-beginners/thread326965.html
Здравствуйте! Помогите, пожалуйста, выполнить следующее задание: Задать целочисленный массив размером N. Поменять местами серии с минимальной и максимальной длиной. Если таких серий несколько, то любые из них. Серия – последовательность одинаковых элементов в массиве. Один элемент – серия с длиной равной 1.:impossible: Заранее спасибо всем кто откликнется!!!:flirt: Добавлено через 20...
C++ Сформировать массив Массив Y сформировать по правилу Yi=cos2ix/(2i-1)(2i+1), x вводить с клавиатуры. Определить количество элементов yi<1.2 среди элементов с нечетными номерами и сумму элементов с четными порядковыми номерами. подробнее

Показать сообщение отдельно
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
28.06.2011, 14:44     Заменить в каждой строке файла элементы с наибольшим значением нулем
Вот, держи.
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
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;
#define   LINE_LEN     512
 
 
 
// подсчёт пробелов
int   count_space(fstream*  fp) {
       int     len = 0;
       char   buf[LINE_LEN];
       fp->getline(buf, LINE_LEN, '\n');
       char*  str = buf;
       while( *str ) {
                if( *str == ' ' )
        len++;
        *str++;
       }
       fp->seekp(0);
     return len;
}
 
 
// изменяем максимумы на нуль
void    change(int*  arr, int *end) {
      int*   num = arr;
      int*   iter  = arr;
      while( iter != end ) {
     if( *iter >= *num )
        num = iter;
    *iter++;
      }
      while( arr != end ) {
    if( *arr == *num )
        *arr = 0;
    ++arr;
       }
}
 
 
void main (void) {
 
    fstream   fin("in.txt", ios_base::in);
    fstream   fout("out.txt",  ios_base::out);
 
    int   cols = count_space(&fin) + 1;
    int*  arr   = new int[ cols ];
    int    cnt  = 0;
    
    while(! fin.eof() ) {
         char   buf[LINE_LEN];
         fin.getline(buf, LINE_LEN, '\n');
         for(char*  tok = strtok(buf, " "); tok; tok = strtok(NULL, " ")) 
                  arr[cnt++] = atoi(tok);
         cnt = 0;
         change(arr, arr + cols);
         for(int i = 0; i < cols - 1; i++)
                  fout << arr[i] << ' ';
         fout << arr[cols - 1] << '\n';
    }
 
    fout.close();
    fin.close();
    
    delete[] arr;
    arr = NULL;
 
    cin.get();
}
in.txt - исходный файл
2 3 4 4
7 4 8 7
1 2 1 9
5 4 3 4


out.txt - выходной файл
2 3 0 0
7 4 0 7
1 2 1 0
0 4 3 4
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru