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

С++ Файл выходной - C++

Восстановить пароль Регистрация
 
 
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 16:05     С++ Файл выходной #1
1)Записать выходной файл, добавить к каждому числу среднее арифметическое наименьшего по абсолютной величине и наибольшего из чисел файла
вот примерно так к 1 первой задачи далше незнаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include<conio.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream fin;
    int a,sr=0;
    float sr;
    fin.open("C:\\1.txt");
    for (int i=1; i<=5; i++);
    {
        fin>>a;
        cout <<a;
    }
 
    return 0;
}
2) Записать выходной файл добавить к каждому числу полусумму их отрицательных чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Apelsin199
11 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 127
20.02.2013, 16:53     С++ Файл выходной #2
Не совсем понял... Вы вводите любые числа и в зависимости от определенных манипуляций, записываете результат этих манипуляций в файл, так?
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 18:57  [ТС]     С++ Файл выходной #3
как бы так

Добавлено через 1 минуту
я сам не понял

Добавлено через 17 секунд
только помню начало и все
Vaiz
 Аватар для Vaiz
98 / 92 / 29
Регистрация: 01.07.2012
Сообщений: 270
Завершенные тесты: 1
20.02.2013, 19:02     С++ Файл выходной #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include<conio.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream fin;
    int a,sr=0;
    float sr;
    fin.open("C:\\1.txt"); //открыли файл на чтение
    for (int i=1; i<=5; i++); //в цикле считали и вывели 5 чисел из файла
    {
        fin>>a; 
        cout <<a;
    }
 
    return 0;
}
Скорее всего вы должны ввести несколько чисел с клавиатуры или из файла, а для этого нужен массив, потом найти минимальное и максимальное по модулю число, найти среднее арифметическое между ними, прибавить его ко всем элементам массива и вывести в файл.
Apelsin199
11 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 127
20.02.2013, 19:04     С++ Файл выходной #5
Цитата Сообщение от stradivari Посмотреть сообщение
как бы так
Сейчас что нибудь посмотрим...
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 19:16  [ТС]     С++ Файл выходной #6
щас попробую

Добавлено через 10 минут
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
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include<conio.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream fin;
    int sr=0;
    int mas[5];
    float sr;
    fin.open("C:\\1.txt"); //открыли файл на чтение
    for (int i=1; i<=5; i++); //в цикле считали и вывели 5 чисел из файла
    {
        fin>>mas[i]; 
        cout <<mas[i];
    }
        int max_elem= mas[0];
        int min_elem= mas[0];
         for (int i=1; i<=5; i++);
        { if (min_elem>mas[i])
        {
            min_elem=mas[i];
        }
        if (mas[i]>max_elem)
        {
            max_elem=mas[i];
        }
        }
        fin.close();
        sr=(float) mas[i]/ 10;
            cout<<sr;
 
 getch();
    return 0;
}
как бы так

Добавлено через 36 секунд
но не работает
Apelsin199
11 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 127
20.02.2013, 19:17     С++ Файл выходной #7
Цитата Сообщение от stradivari Посмотреть сообщение
щас попробую

Добавлено через 10 минут
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
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include<conio.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream fin;
    int sr=0;
    int mas[5];
    float sr;
    fin.open("C:\\1.txt"); //открыли файл на чтение
    for (int i=1; i<=5; i++); //в цикле считали и вывели 5 чисел из файла
    {
        fin>>mas[i]; 
        cout <<mas[i];
    }
        int max_elem= mas[0];
        int min_elem= mas[0];
         for (int i=1; i<=5; i++);
        { if (min_elem>mas[i])
        {
            min_elem=mas[i];
        }
        if (mas[i]>max_elem)
        {
            max_elem=mas[i];
        }
        }
        fin.close();
        sr=(float) mas[i]/ 10;
            cout<<sr;
 
 getch();
    return 0;
}
как бы так

Добавлено через 36 секунд
но не работает
Смешной ты =)) Сейчас, переделаю твой чудо код =))
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 19:18  [ТС]     С++ Файл выходной #8
))) буду благодарен тебе)
Apelsin199
11 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 127
20.02.2013, 19:42     С++ Файл выходной #9
Цитата Сообщение от stradivari Посмотреть сообщение
))) буду благодарен тебе)
Минут 30 погоди тока =)

Добавлено через 22 минуты
Довольно сыроватый вариант, но все что надо сделал. Посмотри, спрашивай, если не понятно и исправляй, косяки, если захотеть, можно найти =)

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
#include <conio.h>
#include <clocale>
#include <stdio.h>
#include <LIMITS.H>
 
int main()
{
    setlocale(LC_ALL, "rus");//объявляем русский язык
    int n;//размер массива и переменная, для занисения чисел в массив
    float *A;//Массив, в который записываем введенные числа
    printf("Введите размер массива ");
    scanf("%d", &n);
    A=new float[n];
    for(int i=0;i<n;i++)
    {
        printf("\nВведите %d эллемент массива: ", i);
        scanf("%f", &A[i]);
    }
    printf("\nИсходный массив: ");
    for(int i=0;i<n;i++)
    {
        printf("%f ", A[i]);
    }
    //теперь максимум и минимум... изначально припровняем максимум и минимум
    //к самому маленькому и самому большому числу, которое встречается в С++
    int max=INT_MIN;
    int min=INT_MAX;
    //ищим максимальный
    for(int i=0;i<n;i++)
    {
        if(A[i]>max)
            max=A[i];
    }
    //находим минимум
    for(int i=0;i<n;i++)
    {
        if(A[i]<min)
            min=A[i];
    }
    printf("\nМаксимальный эллемент массива: %d \nМинимальный эллемент массива %d", max,min);
    //среднее арифмитическое:
    float sr;
    sr=(max+min)/2;
    printf("\nСреднее арифмитическое: %f", sr);
    //прибавляем все ко всем эллементам среднее арифмитическое
    for(int i=0;i<n;i++)
    {
        A[i]=A[i]+sr;
    }
    //подключаем файл, в который будем записывать
    FILE *output;
    output=fopen("output.txt", "w");
    for(int i=0;i<n;i++)
    {
        fprintf(output,"%f ",A[i]);
    }
    fclose(output);
    getch();
    return 0;
}
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 19:58  [ТС]     С++ Файл выходной #10
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
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include<conio.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream fin;
    int sr=0;
    int mas[5];
    float sr;
    fin.open("C:\\1.txt"); //открыли файл на чтение
    for (int i=1; i<=5; i++); //в цикле считали и вывели 5 чисел из файла
    {
        int i;
        fin>>mas[i]; 
        cout <<mas[i];
    }
        int max_elem= mas[0];
        int min_elem= mas[0];
        int i;
         for (int i=1; i<=5; i++);
        {
            if(mas[i]>max_elem)
            max_elem=mas[i];
 
        }
    
        {
             for (int i=1; i<=5; i++);
            if(mas[i]<min_elem)
            min_elem=mas[i];
        }
        float sr;
        sr=(max_elem+min_elem)/2;
        cout<<sr;
        fin.close();
 
 getch();
    return 0;
}
то что ты написал мне непонятно исправил как бы так но не работает(((
Apelsin199
11 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 127
20.02.2013, 19:59     С++ Файл выходной #11
Цитата Сообщение от stradivari Посмотреть сообщение
то что ты написал мне непонятно исправил как бы так но не работает(((
Мое исправил?
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 20:12  [ТС]     С++ Файл выходной #12
да)

Добавлено через 9 минут
но она не рабочая
Apelsin199
11 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 127
20.02.2013, 20:12     С++ Файл выходной #13
Ну замечания во такие...


Цитата Сообщение от stradivari Посмотреть сообщение
int sr=0;
и

Цитата Сообщение от stradivari Посмотреть сообщение
float sr;
Так делать нельзя! переопределение в жесткой форме, нельзя одним переменным давать разыне типы в одной программе (конечно если это не разные функции или что то типа).

Если вы написали

Цитата Сообщение от stradivari Посмотреть сообщение
int i;
в 16 строке, 22 и тд... Делать не нужно, лучше в самом начале, после main и также, не нужно потом в for объявлять i. Достаточно одного объявления. Исправте замечания, посмотрите, что получится.
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 20:15  [ТС]     С++ Файл выходной #14
нечерта не понял
Apelsin199
11 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 127
20.02.2013, 20:16     С++ Файл выходной #15
Цитата Сообщение от stradivari Посмотреть сообщение
нечерта не понял
Сейчас перепишу, посмотрите
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 20:32  [ТС]     С++ Файл выходной #16
получаеться?
Apelsin199
11 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 127
20.02.2013, 20:36     С++ Файл выходной #17
Цитата Сообщение от stradivari Посмотреть сообщение
получаеться?
Да, конечно

Добавлено через 2 минуты
Исправил то, что вы наисправляли в моем коде... Но вы не производите запись в файл, я это не исправлял, это на ваших могучих плечах. Остальное все сделал, сравните со своим старым вариантом и найдите кучу отличий, так сказать =)

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
//#include "stdafx.h"
#include <fstream>
#include <iostream>
#include<conio.h>
using namespace std;
 
//замечание
 
int main()
{
    ifstream fin;
    int i;
    int sr=0;
    int mas[5];
    fin.open("C:\\1.txt"); //открыли файл на чтение
    for (i=1; i<=5; i++) //в цикле считали и вывели 5 чисел из файла
    {
        fin>>mas[i]; 
        cout <<mas[i]<<" ";
    }
    int max_elem= mas[1];
    int min_elem= mas[1];
    for (i=1; i<=5; i++)
    {
        if(mas[i]>max_elem)
            max_elem=mas[i];
 
    }
 
    for (i=1; i<=5; i++)
    {
        if(mas[i]<min_elem)
            min_elem=mas[i];
    }
    //float sr;
    sr=(max_elem+min_elem)/2;
    cout<<sr;
    //вы не производите запись в файл, исправте
    fin.close();
 
    getch();
    return 0;
}
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 20:44  [ТС]     С++ Файл выходной #18
мммм классно,сделал ofstream сам создал файл напичатал цифры , запускаю прогу,консоль работает но выводит цифры которые я забил в текстовом файле нечего не изменил не нашел среднию арефми отноше
Apelsin199
11 / 11 / 1
Регистрация: 04.11.2012
Сообщений: 127
20.02.2013, 20:48     С++ Файл выходной #19
Цитата Сообщение от stradivari Посмотреть сообщение
мммм классно,сделал ofstream сам создал файл напичатал цифры , запускаю прогу,консоль работает но выводит цифры которые я забил в текстовом файле нечего не изменил не нашел среднию арефми отноше
C чего вы взяли, что не нашел?

Добавлено через 58 секунд
У вас есть скайп? а то я уже спать хочу и скайп поможет побыстрее закончить
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2013, 20:51     С++ Файл выходной
Еще ссылки по теме:

дан входной текстовый файл. Вывести в выходной файл строку с максимальным количеством слов C++
Дан входной текстовый файл, строка S (вводится с клавиатуры). Записать в выходной файл все строки входного файла, содержащие в качестве фрагмента стро C++
C++ Дан исходный текстовый файл. Записать его строки в выходной файл в перевёрнутом виде

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

Или воспользуйтесь поиском по форуму:
stradivari
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 68
20.02.2013, 20:51  [ТС]     С++ Файл выходной #20
сори бро классно сделал, я велл цифры 2 4 2 1 65 вывел ответ 33 мак=65 а мин=1 65+1=66/2=33

Добавлено через 19 секунд
дайте свой скайп ))
Yandex
Объявления
20.02.2013, 20:51     С++ Файл выходной
Ответ Создать тему
Опции темы

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