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

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

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

Поменять местами максимальный и последний элементы последовательности - C++

19.07.2013, 11:17. Просмотров 319. Ответов 5
Метки нет (Все метки)

Дана последовательность а1…а30. поменять местами максимальный и последний элементы
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
#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE  *xf;
    int i, x, n=30,max,t;
xf = fopen("text.txt", "w"); 
printf("vvodim el-ti posledovatelnosti X..\n");
for (i=0; i<n; i++)
{
    x=rand() %15-5;
    fprintf(xf,"%7d ", x); /*Определенное кол-во знаков формата 
                            пригодится при последующей записи*/
}
fclose(xf);
 
 
printf("zapis posledovatelnostey v fail zavershena. \nposledovatelnost Х:\n");
getchar();
/*Открытие файла и выполнение необходимых операций
    +   вывод на экран обрабатываемой последовательности*/
 
xf = fopen("text.txt", "r");
    max=-6;
    for (i=0; i<n; i++)
        {
        fscanf(xf,"%d " , &x);
            printf("%d ",x); 
            if (max<x)
                max=x;
как поменять местами с дозаписью в файл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 11:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами максимальный и последний элементы последовательности (C++):

Односвязный список, поменять местами элементы (максимальный и последний) - C++
Дан не пустой односвязный список, в котором каждый элемент имеет тип: struct elem { int num; elem* next; } Написать функцию...

Поменять местами максимальный и последний отрицательный элементы массива - C++
что-то не могу понять как делать Поменять местами максимальный и последний отрицательный элементы массива А (40).

Поменять в массиве местами первый максимальный и последний минимальный элементы - C++
помогите пожалуйста

Поменять местами первый минимальный и последний максимальный элементы массива - C++
&quot;Дан одномерный целочисленный массив из N элементов, заданных случайными числами на промежутке [a; b). Поменять местами первый минимальный...

Поменять в списке местами первый минимальный и последний максимальный элементы - C++
односвязный список stl (c++) На основе данных входного файла создать список. Поменять в списке местами первый минимальный и последний...

Массивы. Поменять местами первый минимальный и последний максимальный элементы - C++
Условие: Дана последовательность из n действительных чисел. Замечание: Решить используя одномерный массив. Задача: Поменять...

5
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
19.07.2013, 12:16 #2
С дозаписью нужно открывать поток на чтение файла не с параметром "r", а с параметром "a+"
Тогда все что Вы пишите в файл будет дозаписано.

xf = fopen("text.txt", "a+");
0
qwit
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 14
19.07.2013, 12:20  [ТС] #3
как поменять местами максимальный и последний элементы в файле ?
0
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
19.07.2013, 12:21 #4
Сначала считайте все в массив, поменяйте, а потом уже пишите в файл
1
qwit
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 14
19.07.2013, 12:36  [ТС] #5
спасибо

Добавлено через 8 минут
ruslawik, не могли бы вы написать код программы?
0
ruslawik
9 / 33 / 1
Регистрация: 25.05.2012
Сообщений: 113
19.07.2013, 12:50 #6
Нууу) у меня сейчас не так много времени. Сейчас в личку напишу

Добавлено через 9 минут
ладно вот. Примерно такой код. Но я не тестил, будут баги напиши

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
 # include <fstream>
 
 using namespace std;
 
       ifstream cin("input.txt");
       ofstream cout("output.txt");
       
 int a[10000];
 int mx = -100000; 
 int coor=29;
 
 int main()
 {
     for(int i=0; i<30; ++i)
     {
            cin>>a[i];
            if(a[i]>mx)
            {
                       mx=a[i];
                       coor = i;
            }
     }
     
     swap(a[29],a[coor]);
     
     for(int i=0; i<30; ++i)
     {
             cout<<a[i]<<" ";
     }
     
 }
Добавлено через 3 минуты
Код понял? Короче в файл input.txt РУЧКАМИ вводишь 30 чисел через пробел.
Запускаешь программу, и она в файл output.txt выводит массив с измененной последовательностью
1
19.07.2013, 12:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2013, 12:50
Привет! Вот еще темы с ответами:

В каждой строке матрицы поменять местами максимальный и первый, минимальный и последний элементы - C++
Найти в каждой строке матрицы максимальный и минимальный элементы и поместить их на место первого и последнего элемента строки...

Поменять местами последний столбик матрицы со столбиком, который содержит максимальный элемент - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int massiv(int n, int m) { int mass; for (int i(1); i &lt;= n;...

Переставить местами максимальный и последний элементы массива - C++
Необходимо переставить местами максимальный и последний элементы массива, если максимальный и минимальный элементы на четных позициях,...

Поменять местами первый и последний элементы. Все единичные элементы массива заменить нулями - C++
Люди добрые, помогите плиз с задачками. В массиве Р, размерности 150 150. поменять местами первый и последний элементы; все единичные...


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

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

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