Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2009, 15:34   #1
Defa4ka
Пользователь
 
Аватар для Defa4ka
 
Регистрация: 10.05.2009
Сообщений: 80
Сообщение Как присвоить значение max всем элементам стоящим после него?

Вычислить максимальный элемент массива С и присвоить его значение всем элементам стоящим после него. Массив С вводится с клавиатуры и состоит из целых чисел.
Ну вот:
Код:
#include<stdio.h>
#include<conio.h>
const N=6;
Void main()
{
int max,i;
int c[N];
printf("Vvedite massiv c:\n");
for (i=0; i<N; i++) {
printf("Vvedite c[%d]>",i);
scanf("%d", &c[i]);
}
{
max=0;
for (i=0; i<N; i++)
if (c[i]>max)
max=c[i];}
вопрос: Как присвоить значение max всем элементам стоящим после него?
Величие человека есть его способность мыслить.
Блез Паскаль

Последний раз редактировалось Defa4ka; 12.11.2009 в 15:37.
Defa4ka вне форума Ответить с цитированием
Старый 12.11.2009, 15:36   #2
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

могу написать ан паскале - переделаешь под свой язык и будешь молодец =)
kakawkin вне форума Ответить с цитированием
Старый 12.11.2009, 15:39   #3
Defa4ka
Пользователь
 
Аватар для Defa4ka
 
Регистрация: 10.05.2009
Сообщений: 80
Сообщение мм..

Цитата:
Сообщение от kakawkin Посмотреть сообщение
могу написать ан паскале - переделаешь под свой язык и будешь молодец =)
давай, попробуем..
Величие человека есть его способность мыслить.
Блез Паскаль
Defa4ka вне форума Ответить с цитированием
Старый 12.11.2009, 15:46   #4
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Хих... А в чем проблема? Вводим доп. Переменную и записываем в него номер индекса макс. элемента:
Код:
if (c[i]>max)
{
t=i;
max=c[i];}
А потом запустить цикл от t до n, в котором менять значения на max
danekne вне форума Ответить с цитированием
Старый 12.11.2009, 15:56   #5
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

на паскале получилося вот так:
Код:
program tt;
var a:array[1..5] of integer;i,max,maxi:integer;
begin
 for i:=1 to 5 do
  begin
   write('a[',i,']= ');
   readln(a[i]);
  end;
  max:=a[1];
  for i:=2 to 5 do
   if a[i] > max then 
    begin
     max:=a[i];
     maxi:=i;
    end; 
 for i:=1 to 5 do write(a[i]:2);
 for i:=maxi to 5 do a[i]:=max;
 writeln;
 for i:=1 to 5 do write(a[i]:2);
end.
я нубло и из-за этого код такой тупенький
kakawkin вне форума Ответить с цитированием
Старый 12.11.2009, 16:46   #6
Defa4ka
Пользователь
 
Аватар для Defa4ka
 
Регистрация: 10.05.2009
Сообщений: 80
Сообщение ..

Цитата:
Сообщение от danekne Посмотреть сообщение
Хих... А в чем проблема? Вводим доп. Переменную и записываем в него номер индекса макс. элемента:
Код:
if (c[i]>max)
{
t=i;
max=c[i];}
А потом запустить цикл от t до n, в котором менять значения на max
извините ,но все равно не пойму.. запущу я этот цикл,что эт даст?
значение чего на мах?
Величие человека есть его способность мыслить.
Блез Паскаль
Defa4ka вне форума Ответить с цитированием
Старый 12.11.2009, 17:12   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
#include<stdio.h>
#include<conio.h>
const N=6;
Void main()
{
int max,i,k;
int c[N];
printf("Vvedite massiv c:\n");
max=-9999;k=0;
for (i=0; i<N; i++) {
 printf("Vvedite c[%d]>",i);
 scanf("%d", &c[i]);
 if (c[i]>max) {
  max=c[i];k=i;
 }
}

for (i=k+1; i<N; i++) {
 c[i]=max;
 printf("%d \n",c[i]);
}
Так устроит?
P.S. не тестил.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2009, 18:31   #8
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Stillet, ни в коем разе не критикую, и простите за флуд но интеджер для такого варианта - через чур жирно будет))
danekne вне форума Ответить с цитированием
Старый 13.11.2009, 17:42   #9
Defa4ka
Пользователь
 
Аватар для Defa4ka
 
Регистрация: 10.05.2009
Сообщений: 80
Сообщение ..

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
#include<stdio.h>
#include<conio.h>
const N=6;
Void main()
{
int max,i,k;
int c[N];
printf("Vvedite massiv c:\n");
max=-9999;k=0;
for (i=0; i<N; i++) {
 printf("Vvedite c[%d]>",i);
 scanf("%d", &c[i]);
 if (c[i]>max) {
  max=c[i];k=i;
 }
}

for (i=k+1; i<N; i++) {
 c[i]=max;
 printf("%d \n",c[i]);
}
Так устроит?
P.S. не тестил.
зря.. не тестировали
Величие человека есть его способность мыслить.
Блез Паскаль
Defa4ka вне форума Ответить с цитированием
Старый 13.11.2009, 18:37   #10
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Ну а в чём проблема-то, у Вас почти всё уже написано
Код:
for (i=0; i<N; i++)
if (c[i]>max)
max=c[i];}
добавляете переменную maxi и пишите
Код:
max = c[0]; //никогда не пишите max = 0 или max = -9999... - это неверно в принципе
maxi = 0;
for (i=0; i<N; i++)
  if (c[i]>max) {
    max=c[i];
    maxi = i;
  }
Потом
Код:
for (i = maxi+1; i < N; i++) c[i] = max;
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоить значение поле в DBGrid'e компоненту DBLookupComboBox2 фЁдОр БД в Delphi 14 07.09.2012 14:26
Как в формуле одной ячейки присвоить значение другой? Эдгар Microsoft Office Excel 10 06.10.2008 15:00
Как сохранить значение Edit после закрытия tarakan1983 Помощь студентам 14 11.09.2008 08:25
Как объекту рисования (овал) присвоить значение? Град Microsoft Office Excel 8 17.07.2008 10:42
как присвоить значение ячейки R1C1 из 1.xls, допустим какой-нибудь любой ячейке из 2.xls ? diabloskrk Microsoft Office Excel 3 08.10.2007 12:27