С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 02.06.2019
Сообщений: 29
1

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

17.06.2019, 14:49. Показов 854. Ответов 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,473
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru