0 / 0 / 0
Регистрация: 02.06.2019
Сообщений: 29
1

Определить номера строк массива, содержащих только положительные элементы и найти среди них наименьший

17.06.2019, 14:49. Показов 855. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
дано задание:
Дан двумерный массив размером n*m, заполненный случайными числами из заданного пользователем промежутка. Определить номера строк массива, содержащих только положительные элементы и найти среди них наименьший, если такие строки есть, то вывести все на экран и в текстовый файл.
не получается задать условия для нахождения положительных элементов
вот набросок программы
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#include <malloc.h>
#include<stdbool.h>
int main()
{
    srand(time(NULL));
    system("chcp 1251>0");
 
    system("cls");
    int nach, kon, m, n,i,j,min=-100;
    FILE *file2;
    file2 = fopen("file2.txt","wt");
    printf("Введите размер массива: ");
    scanf("%d %d", &m, &n);
    printf("Введите промежуток: ");
    scanf("%d %d", &nach, &kon);
    int ar[m][n];
    //,ar2[m];
    for (int i = 0; i < m; i++)
    {
        for(int j = 0; j < n; j++)
        {
            ar[i][j]=rand()%(kon-nach+1)+nach;
                printf("%3.d ", ar[i][j]);
        }
        printf("\n");
    }
 for (int i = 0; i < m; i++)
    {
        fprintf(file2,"%d ",ar[i][j]);
        if (min < ar[i])
            min = ar[i];
    }
    fprintf(file2,"%d ",min);
 
 ////////////////////////////
//условие
//////////////////////////////
 
           // for (int i = 0; i < n; i++)
    fprintf(file2,"%d ",ar[i][j]);
    fclose(file2);
    printf("\n содержимое файла: ");
    file2= fopen("file2.txt","rt");
    if (getc(file2) == EOF)
        printf("Файл пуст!");
    else
    {
        rewind(file2);
        while (!feof(file2))
        {
            fscanf(file2,"%d ",&nach);
            printf("%d ",nach);
        }
    }
    free(ar);
   // free(ar2);
    fclose(file2);
    printf("\n");
    system("pause");
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.06.2019, 14:49
Ответы с готовыми решениями:

Массив размером m*n. Заполнить его с клавиатуры. Определить номера строк, содержащих только положительные элементы
Дан двумерный массив размером m*n. Заполнить его с клавиатуры. Определить номера строк, содержащих...

Определить номера столбцов содержащих только положительные элементы
Добрый день. Задание:определить номера столбцов содержащих только положительные элементы, вычислить...

Определить количество строк, содержащих только положительные элементы
Дана целочисленная прямоугольная матрица. Определить: 1) количество строк, содержащих только...

В матрице определить количество строк, содержащих только положительные элементы
Помогите с решением задачи! Дана целочисленная прямоугольная матрица. Определить: 1) количество...

1
 Аватар для Зосима
5243 / 3571 / 379
Регистрация: 02.04.2012
Сообщений: 6,474
Записей в блоге: 17
21.06.2019, 15:22 2
born plagued, ты минимум неверно ищешь, нужно if (ar[i]<min) ...
Причесал немного, правда вторая часть, где вывод содержимого файла, у меня не работает

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
80
81
82
83
84
85
86
87
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <malloc.h>
#include <windows.h>
#include <stdbool.h>
int main()
{
    srand(time(NULL));
    system("chcp 1251>0");
    system("cls");
    int nach, kon, m, n,i,j,k,min,flag;
    FILE *file2;
    file2 = fopen("file2.txt","wt");
    printf("Введите размер массива (m n): ");
    scanf("%d %d", &m, &n);
    printf("Введите диапазон чисел от и до: ");
    scanf("%d %d", &nach, &kon);
    int ar[m][n], istr[m];
    //,ar2[m];
    k = 0; // счетчик положительных строк
    for (int i = 0; i < m; i++) // пробегаем по строкам
    {
      flag = 1; // флаг положительных значений
      for(int j = 0; j < n; j++) // пробегаем по столбцам
        {
          ar[i][j]=rand()%(kon-nach+1)+nach;
          printf("%3.d ", ar[i][j]);
          if (ar[i][j]<=0) flag = 0; // если элемент отрицательный - сбрасываем флаг
        }
 
        if (flag) // если отрицательных значений не было, flag == 1
        {
          istr[k] = i; // сохраняем номер строки
          k++; // увеличиваем счетчик
        }
        printf("\n");
    }
    
    if (!k) // если k=0, т.е. положительных строк нет
    {
        printf("Положительные строки не найдны, милорд!");
        return 0; // идем пить чай с козинаками ^__^
    }
    else // а если все жыЕсть - придется поработать -__-
    {
      printf("Положительные строки: \n");
      min = ar[istr[0]][0]; // присваиваем минимуму первый элемент массива
      for (i = 0; i < k; i++) // пробегаем по всем положительным строкам
      {
      for (j = 0; j < n; j++) // пробегаем по всем столбцам
        {
          fprintf(file2,"%d ",ar[istr[i]][j]); // записываем в файл
          printf("%d ",ar[istr[i]][j]); // выводим на экран
          if (ar[istr[i]][j]<min) 
             min = ar[istr[i]][j]; // если текущий элемент меньше минимума, то он становится минимумом
        }
      fprintf(file2,"\n"); // куда же без переноса строки
      printf("\n"); // куда же без переноса строки
      }
    fprintf(file2,"Минимальный элемент: %d \n",min);
    printf("Минимальный элемент: %d \n",min);
    fclose(file2);
    }  
 
  //////////// дальше у меня не работает :(
 
    printf("\n содержимое файла: ");
    file2= fopen("file2.txt","rt");
    if (getc(file2) == EOF)
        printf("Файл пуст!");
    else
    {
        rewind(file2);
        while (!feof(file2))
        {
            fscanf(file2,"%d ",&nach);
            printf("%d ",nach);
        }
    }
    free(ar);
   // free(ar2);
    fclose(file2);
    printf("\n");
    system("pause");
 return 0;
}
0
21.06.2019, 15:22
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.06.2019, 15:22
Помогаю со студенческими работами здесь

Определить номера строк прямоугольной матрицы, содержащие только положительные элементы.
7.1.2. Помогите, пожалуйста, решить задачу в С++. Определить номера строк прямоугольной...

Определить номера столбцов содержащих только отрицательные элементы матрицы
Помогите пожалуйста сделать задание : определить номера столбцов содержащих только отрицательные...

Определить количество строк матрицы, содержащих только нулевые элементы
-Дана целочисленная прямоугольная матрица. Определить количество строк, содержащие только нулевые...

Определить количество строк матрицы, содержащих только отрицательные элементы
Дана матрица размером МxN. Определить количество строк, содержащих только отрицательные элементы.


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

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

Новые блоги и статьи
Rust или Go? А может C++?
hw_wired 28.01.2025
С каждой новой технологией или методологией появляются новые языки программирования, призванные решать конкретные задачи либо улучшать аспекты производительности и безопасности. Среди множества. . .
Fortran и WinAPI: как создать приложение с графическим интерфейсом
hw_wired 28.01.2025
Fortran — это один из старейших высокоуровневых языков программирования, широко используемый в науке и инженерии уже несколько десятилетий. Его название происходит от "Formula Translation" (перевод. . .
Списки в Haskell
hw_wired 28.01.2025
Haskell является функциональным языком программирования, который отличается лаконичностью синтаксиса и мощными абстракциями. Важным концептом в Haskell являются списки — упорядоченные коллекции. . .
Функции высшего порядка в Haskell
hw_wired 28.01.2025
Haskell – это современный функциональный язык программирования, который получил широкое распространение благодаря своей выразительности и мощным абстракциям. Одной из ключевых особенностей Haskell. . .
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать. / / . . .
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru