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

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

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

Небольшая праблемка - C++

18.01.2010, 22:31. Просмотров 604. Ответов 10
Метки нет (Все метки)

Здравствуйте.

Есть такая задача: Дана матрица N строк, М столбцов. Вычислить сумму элементов каждой строки до первого отрицательного.

Продвинулся до того чтобы суммировались элементы строк матрицы. Подскажите пожалуста как добиться того чтобы элементы матрицы считались до первого отрицательного?

вот текст программы
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
     
#include <conio.h>
#include <windows.h>
#include <stdio.h>
 
int main()
{ SetConsoleCP(1251);
SetConsoleOutputCP(1251);
randomize();
int q,i,j,n,m,a[50][50],pervotr=0, pervo=0; float b[50];
 
printf("\nВведите количество строк N "); scanf("%d", &n);
printf("\nВведите количество столбцов M "); scanf("%d", &m);
printf("\n");
for(i=0; i < n ; i++){
for(j=0; j < m ; j++){
a[i][j]=random(11)-5;
printf("%3d",a[i][j]);
}printf("\n");}
 
for(j=0; j < m ; j++){
for(i=0; i < n ; i++){
b[i]+=a[i][j];} }
 
printf("\n");
  for(i=0;i<n;i++)printf("%3.3f",b[i]);
 getch();}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2010, 22:31     Небольшая праблемка
Посмотрите здесь:

Небольшая проблемка) - C++
Всем доброго времени суток, у меня возникла проблема с напиванием одной программы задание следующее :&quot;Написать функцию нахождения MAX среди...

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

Небольшая сложность - C++
Я создал проект, сохранил, попытался открыть, но на месте отладки появилось &quot;присоединить&quot;, при нажатии которого выдаёт окошко с кучей...

Небольшая помощь - C++
Ктото может написать небольшой модуль которий будет считивать какуюта інформацию с файла *тхт каждих 2 сек ?? спс

Небольшая задачка - C++
Доброго времени суток. Я не знал в каком разделе создавать эту тему, так что пишу сюда. Есть небольшая проблема не получается решить...

Небольшая задачка. простенькая - C++
Ну что же, имеется Файлик с названием HappyEnd.txt Нужно: сисушка спрашивает, открыть ли файлик, если да, то тыкай цифру 1, а если нет...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
18.01.2010, 22:33     Небольшая праблемка #2
строчку b[i]+=a[i][j];} } замени на такие:

if (a[i][j] < 0) goto get_out;
b[i]+=a[i][j];} }

get_out:;
Zealot74
1 / 1 / 0
Регистрация: 18.01.2010
Сообщений: 9
18.01.2010, 22:45  [ТС]     Небольшая праблемка #3
Вроди чёта начало работать, но если задать количество строк/столбцов более двух то даже если например есть положительные значения в 3 строке то они несчитаются
Миниатюры
Небольшая праблемка  
ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
18.01.2010, 22:53     Небольшая праблемка #4
может так попробуй

while(a[i][j]>0) {
//суммрование
}

Добавлено через 1 минуту
тебе нужно просуммировать все положительные елементы в строке или только до отрицательного?
Zealot74
1 / 1 / 0
Регистрация: 18.01.2010
Сообщений: 9
18.01.2010, 23:00  [ТС]     Небольшая праблемка #5
только до отрицательного что после первого отрицательно посути неважно.

и так в каждой строке
ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
18.01.2010, 23:54     Небольшая праблемка #6
C++
1
2
3
4
5
6
7
8
for(i=0; i < n ; i++){
    for(j=0; j < n ; j++){           
       if(a[i][j]>0){
             b[i]+=a[i][j];
       }
       else {break;}   
    }
   }
вот тебе сумм

Добавлено через 37 секунд
проверь =) если что не так извини, я проколупался со своим рендомом)
Zealot74
1 / 1 / 0
Регистрация: 18.01.2010
Сообщений: 9
19.01.2010, 00:05  [ТС]     Небольшая праблемка #7
2ggmann еслиб можно было нажать 1+ на кнопку спасибо сделал бы это!))

программа заработала так как надо единственный штрх добавил тут

if(a[i][j]>=0){
а то если 1 элемент в строке 0 то дальше он и нестарался даже считать.

ещё раз огромное спасибо.
ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
19.01.2010, 00:09     Небольшая праблемка #8
всегда рад помочь)
Zealot74
1 / 1 / 0
Регистрация: 18.01.2010
Сообщений: 9
19.01.2010, 00:42  [ТС]     Небольшая праблемка #9
А вот ещё 1 вопрос, как можно решить эту задачу, вводя исходные данные из текстового файла, результат выводить тоже в текстовый файл.
Подскажите пожалуста если кто догадается как это сделать.

Исходные данные это N и M (cтроки и столбцы)... всё что пока нашол в литературе это ввод целых массивов...
Day
1154 / 959 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
19.01.2010, 01:00     Небольшая праблемка #10
Открой файл
FILE *f = fopen(имя файла, "r");
убери printf
вместо scanf - fscanf(f, "%d", &N)
..............
Не забудь файл закрыть - fclose(f);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2010, 10:04     Небольшая праблемка
Еще ссылки по теме:

Небольшая игрушка в консоли - C++
Решил написать небольшую игру в консольном интерфейсе. Суть такова: в определенную точку на экране при нажатии ЛКМ ставится символ, который...

Небольшая ассемблеровская вставка - C++
Доброго вечера. Данный код создает одномерный массив. int main() { int n=4; int *a = new int ; for(int i=0;i&lt;n;i++){ ...

Небольшая недоработка в программе - C++
Задача была написать программу, которая читает введенную матрицу, делает проверку значений на четность и положительность. Если условия...

Небольшая ошибка в коде - C++
помогите, как записать выделенную область на рисунке я записал : Z= exp((-c*pow(x,x)+sqrt(x+a)) // (x-sqrt(fabs(x-b)))); но препод...


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

Или воспользуйтесь поиском по форуму:
Zealot74
1 / 1 / 0
Регистрация: 18.01.2010
Сообщений: 9
19.01.2010, 10:04  [ТС]     Небольшая праблемка #11
билдер сильно ругал
fscanf(f, "%d", &N)
а если неругает и запускается файл нечитает... буду эксперементировать))
Yandex
Объявления
19.01.2010, 10:04     Небольшая праблемка
Ответ Создать тему
Опции темы

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