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

Массивы. - C++

Восстановить пароль Регистрация
 
stasyano
0 / 0 / 1
Регистрация: 13.09.2009
Сообщений: 101
31.01.2010, 20:52     Массивы. #1
1. С текстового файла прочитать массив.
1ая строка - количество элементов.
2ая строка - сам массив.
Посчитать сумму элементов до минимального элемента.

2. Тоже самое, только:
Посчитать сумму элементов >после< минимального элемента.

3. Требования:
1) Подготовить текстовый файл с выходными данными в редакторе.
2) Составить алгоритм программы.
3) Разбить программу на функции ввода, обрадотки и вывода.
4) Вхожные данные прочитать из файла.
5) Выполнить обработку в сответствии с заданием.
6) Вывести результаты на экнран и дозаписать в файл.
*Для массивов в выводном файле указываються:
в 1ой строке количество элементов;
во 2ой строке указываються сами элементы.

Задание:
В одномерном массиве посчитать сумму элементов, находящихся в нечетных позициях.

4.Требования:
1) Подготовить текстовый файл с выходными данными в редакторе.
2) Составить алгоритм программы.
3) Разбить программу на функции ввода, обрадотки и вывода.
4) Вхожные данные прочитать из файла.
5) Выполнить обработку в сответствии с заданием.
6) Вывести результаты на экнран и дозаписать в файл.
*Для массивов в выводном файле указываються:
в 1ой строке количество элементов;
во 2ой строке указываються сами элементы.

Задание:
В одномерном массиве удалить, введеный с клавиатуры элемент.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2010, 20:52     Массивы.
Посмотрите здесь:

C++ Массивы
C++ массивы
Массивы C++
Массивы C++
C++ Массивы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1330 / 863 / 50
Регистрация: 02.01.2009
Сообщений: 2,621
Записей в блоге: 1
31.01.2010, 21:13     Массивы. #2
Ну задание вы написали.. а вопрос собственно где?
stasyano
0 / 0 / 1
Регистрация: 13.09.2009
Сообщений: 101
31.01.2010, 21:26  [ТС]     Массивы. #3
завтра пересдача... нужно решить к завтрашнему дню.... помогите плиз(
genius5
 Аватар для genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
31.01.2010, 21:38     Массивы. #4
так ну ща начну))))))
stasyano
0 / 0 / 1
Регистрация: 13.09.2009
Сообщений: 101
31.01.2010, 21:48  [ТС]     Массивы. #5
спасибо..)
genius5
 Аватар для genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
31.01.2010, 21:52     Массивы. #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
int main(void)
{int i,n,*a=NULL,k,min,summa=0;
FILE*fin=NULL;
fin=fopen("text.txt","r");
fscanf(fin,"%d",&n);
a=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)
{fscanf(fin,"%d",&a[i]);
printf("%d ",a[i]);}
min=a[0];
for(i=0;i<n;i++){
if(a[i]<min){min=a[i];k=i;}}
for(i=0;i<k;i++)
{summa+=a[i];}
printf("\n%d \n",summa);
return 0;
}
файл создать не забудь создать

Добавлено через 41 секунду
эт 1-ое

Добавлено через 1 минуту
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
int main(void)
{int i,n,*a=NULL,k,min,summa=0;
FILE*fin=NULL;
fin=fopen("text.txt","r");
fscanf(fin,"%d",&n);
a=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)
{fscanf(fin,"%d",&a[i]);
printf("%d ",a[i]);}
min=a[0];
for(i=0;i<n;i++){
if(a[i]<min){min=a[i];k=i;}}
for(i=k;i<n;i++)
{summa+=a[i];}
printf("\n%d \n",summa);
return 0;
}
эт второе

Добавлено через 1 минуту
ток в фай я пока не записывал
поже ок?
stasyano
0 / 0 / 1
Регистрация: 13.09.2009
Сообщений: 101
31.01.2010, 22:07  [ТС]     Массивы. #7
хорошо)
genius5
 Аватар для genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
31.01.2010, 22:29     Массивы. #8
ну как проверил??
stasyano
0 / 0 / 1
Регистрация: 13.09.2009
Сообщений: 101
31.01.2010, 23:37  [ТС]     Массивы. #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
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
#include <iomanip.h>
int main()
{fstream fp("C:\\Temp\\text.txt", ios::in|ios::app);
if (!fp){cout <<"oshibka otkritia faila";getch();return(0);}
int x, *p, s=0;
clrscr();
fp>>x;
p=new int[x];
int (min);
min=0;
int S,n,i,a;
n=10;
for(i=0;i!=(n-1);i++)
if (p[i]<min)
{min=p[i];
S=i;
}
{fp >> p[i];
cout <<setw(5)<<p[i];
cout << "\ns="<<s;
fp << "\ns="<<s;
}
getch();
return(0);
}
genius5
 Аватар для genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
01.02.2010, 00:07     Массивы. #10
ну тысначала скажи ны какой язык нужен))
я С++ еще не прошел
stasyano
0 / 0 / 1
Регистрация: 13.09.2009
Сообщений: 101
01.02.2010, 10:45  [ТС]     Массивы. #11
блиин(
хелп кто нибудь(

Добавлено через 10 часов 10 минут
Ребят, помогите пожалуйста. До пересдачи 3 часа, у меня ничего неполучается...((
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
01.02.2010, 11:39     Массивы. #12
диржы
program.cpp
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
71
72
73
74
75
76
77
78
79
#include <iostream>
#include <fstream>
#include <iomanip>
 
using namespace std;
 
/* возвращает индекс элемента с минимальным значением */
int minIndex(int *arr, int size){
    int min_index, min_value, i;
    
    min_index = 0;
    min_value = arr[min_index];
    for ( i = 1; i < size; ++i ){
        if ( arr[i] < min_value ){
            min_index = i;
            min_value = arr[min_index];
        }
    }
    return min_index;
}
 
/* сумма элементов до минимального */
int sumBeforMin(int *arr, int size){
    int min_index = minIndex(arr, size);
    int sum = 0;
    for ( int i = 0; i < min_index; ++i )
        sum += arr[i];
    return sum;
}
 
/* сумма элементов после минимального */
int sumAfterMin(int *arr, int size){
    int min_index = minIndex(arr, size);
    int sum = 0;
    for ( int i = size - 1; i > min_index; --i )
        sum += arr[i];
    return sum;
}
 
int *arrayFromFile(const char *file_name, int *cnt){
    ifstream ifs(file_name);
    if ( !ifs.is_open() )
        return NULL;
    int *arr;
    ifs >> *cnt;
    if ( *cnt < 1 )
        return NULL;
    arr = new int [ *cnt ];
    for ( int i = 0; i < *cnt; ++i ){
        ifs >> arr[i];
        if ( ifs.bad() )
            return NULL;
    }
    ifs.close();
    return arr;
}
 
void prnArray(int *arr, int size){
    while ( size-- )
        cout << setw(3) << *arr++;
    cout << endl;
}
 
int main(){
    const char *file_name = "data.txt";
    int *arr = NULL, cnt = 0;
    
    if ( ( arr = arrayFromFile(file_name, &cnt) ) == NULL ){
        cerr << "Can't get array from file!" << endl;
        return 1;
    }
    cout << "Array:" << endl;
    prnArray(arr, cnt);
    cout << "Sum befor element with min value: " << sumBeforMin(arr, cnt) << endl;
    cout << "Sum after element with min value: " << sumAfterMin(arr, cnt) << endl;
    
    delete [] arr;
    return 0;
}

data.txt
Код
10
5 4 8 7 9 2 0 3 6 1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2010, 15:02     Массивы.
Еще ссылки по теме:

массивы C++
C++ Массивы в С++
Массивы C++

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

Или воспользуйтесь поиском по форуму:
stasyano
0 / 0 / 1
Регистрация: 13.09.2009
Сообщений: 101
01.02.2010, 15:02  [ТС]     Массивы. #13
Огромное спасибо тебе. Я на 2ом курсе, а ты написал по проффессианальному, мне надо будет отвечать по каждой строчке. Если не сложно мог бы кто нибуть более простым языком это написать. Зарание огромное спасибо!!!

Добавлено через 1 час 11 минут
1. С текстового файла прочитать массив.
1ая строка - количество элементов.
2ая строка - сам массив.
Посчитать сумму элементов до минимального элемента.

2. Тоже самое, только:
Посчитать сумму элементов >после< минимального элемента.


Хелп!!!!!!!!!!!!
Yandex
Объявления
01.02.2010, 15:02     Массивы.
Ответ Создать тему
Опции темы

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