Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Immi
3 / 3 / 1
Регистрация: 30.01.2013
Сообщений: 73
1

Положительные элементы массивов заменить на 1, отрицательные на -1

09.03.2013, 21:12. Просмотров 1143. Ответов 5
Метки нет (Все метки)

Доброго времени суток, проблема заключается в том, что не я не присутствовал на лекции по данной теме, а когда открываю учебник там все не понятно, потому прошу помощи с данной задачей.
Создать файл F1, компонентами которого являются целочисленные массивы a1,..,a10, заполненные случайными числами, как положительными, так и отрицательными, закрыть его. Затем считать массивы из файла, преобразовать их и записать в файл F2. Преобразовать массивы следующим образом:положительные элементы заменить на 1, отрицательные на -1,а нулевые оставить без изменения.

Добавлено через 3 часа 45 минут
жду помощи((((
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2013, 21:12
Ответы с готовыми решениями:

Все положительные элементы матрицы заменить на 1, а отрицательные элементы – на (-1)
Ввести массив A(N, N). Образовать массив В(N, N) в котором все положительные элементы массива А(N,...

Отрицательные элементы матрицы заменить на 0, а положительные на 1
Задал духмерный масив,необходимо что бы отрицательные елементы заменялись на 0,а положительные на...

Заменить в матрице А все отрицательные элементы нулями, а положительные единицами
Если разность максимального и минимального элемента матрицы А превышает заданную величину Р,...

Положительные элементы массива заменить на 1, отрицательные на -1, а нулевые оставить без изменения
проблема состоит в том, что последний принтф выводит странный значения ~-900000000 хотя должен...

Все отрицательные элементы матрицы заменить минимальным элементом, а все положительные - максимальным
В двумерном N*K массиве целых чисел все отрицательные элементы заменить минимальным элементом...

5
ntrx
122 / 122 / 82
Регистрация: 03.01.2013
Сообщений: 241
09.03.2013, 21:31 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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
const int N = 10;
 
int main(void) {
    srand(time(NULL));
    int a[N];
    
    FILE *fp, *fp2;
    fp = fopen("F1","w");
    
    for (int i = 0; i<N; i++) 
        fprintf(fp, "%d ", rand()%20-10);
    fclose(fp);
    
    fp = fopen("F1","r");
    fp2 = fopen("F2","w");
    
    for (int i=0; i<N; i++) {
        fscanf(fp, "%d", &a[i]);
        if (a[i]>0)
            fprintf(fp2, "%d ", 1);
        else if (a[i]<0) 
            fprintf(fp2, "%d ", -1);
        else 
            fprintf(fp2, "%d ", a[i]);
    }
    fclose(fp2);
    fclose(fp2);
    return 0;
}
1
Immi
3 / 3 / 1
Регистрация: 30.01.2013
Сообщений: 73
10.03.2013, 09:11  [ТС] 3
что делает #include <time.h>? и srand(time(NULL));?
0
ntrx
122 / 122 / 82
Регистрация: 03.01.2013
Сообщений: 241
10.03.2013, 09:44 4
#include <time.h> — библиотека работы со временем

srand(time(NULL)); — инициализация псевдослучайных чисел
0
Immi
3 / 3 / 1
Регистрация: 30.01.2013
Сообщений: 73
10.03.2013, 10:48  [ТС] 5
Цитата Сообщение от ntrx Посмотреть сообщение
#include <time.h> — библиотека работы со временем

srand(time(NULL)); — инициализация псевдослучайных чисел
можно по подробнее?
0
ntrx
122 / 122 / 82
Регистрация: 03.01.2013
Сообщений: 241
10.03.2013, 10:52 6
читайте справичники по Си, там всё подробно описано
0
10.03.2013, 10:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2013, 10:52

Все положительные элементы массива заменить на значение "1", отрицательные на "-1"
Дана последовательность чисел a (i=1, 2, …, n). Все положительные элементы заменить на значение...

В каждой строке переставить элементы, чтобы в начале стояли положительные элементы, затем отрицательные
В матрице размером M x N в каждой строке переставить элементы так, чтобы в начале стояли...

Переписать подряд в массив Y положительные и в Z отрицательные элементы массива X[n]
Просто помогите мне это сделать. Пожалуйста. Условие N&lt;=40


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

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

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