Ir para conteúdo
Fórum Script Brasil
  • 0

Iniciante , Iniciante Mesmo .....


IwannaC

Pergunta

Olá galera , meu caso é o seguinte :

Estava fazendo o curso de C online da UFMG e parece que o site deles não está mais no ar, quem quiser pode ver : ead1.eee.ufmg.br/cursos/C/ , eu precisava do gabarito dos exercícios mas então como não achei , resolvi recorrer ao fórum.

A rotina é essa :

/*O nome Joao é escrito na tela verticalmente até a variável contador
determinar o término do programa. Enquanto isto a variável index assume
os valores 0, 1, 2, 3, , 0, 1, ... progressivamente.
O exercício pede que o ultimo exemplo seja alterado para que ele escreva 
cada letra 5 vezes seguidas. */

#include <stdio.h>
#include <stdlib.h>

int main()
{
 int cont;
 int index=0;
 char str[5]="joao";
 for(cont=0;cont<1000;cont++)
 {
 printf("\n%c",str[index]); 
 if(index==4)
    {
     index=0;
    }else ++index;
 }
 system("Pause");
 return 0;
}

Hehehe , como aprender a tal da programação é complicado !

Obrigado galera

Flws

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

você poderia fazer isso (se é que eu entendi bem):

#include <stdio.h>
#include <stdlib.h>

int main()
{
int cont;
int index=0;
char str[5]="joao";
for(cont=0;cont<1000;cont++)
{
for (i=0; i<5; i++)
  printf("\n%c",str[index]);
if(index==4)
{
index=0;
}else ++index;
}
system("Pause");
return 0;
}
adicionei essa linha:
for (i=0; i<5; i++)

Link para o comentário
Compartilhar em outros sites

  • 0

Boas pessoal e assim eu comecei a dar C e C++ a alguns meses e tipo gostava de saber por num programa MFC (exe) como e que eu faço para aparecer uma input box qual e o codigo e que no meu livro de baes de 12 ano não vem isso se me podem explicar qual era o codigo com e que isso se faz agredecia bue.

Link para o comentário
Compartilhar em outros sites

  • 0

Tente usar o exposto no exemplo baixo:

#include <stdio.h>

#include <conio.h>

#include <dos.h>

void main(void)

{

char linha[30];

int cont;

int i;

char str[5]="Joao ";

/*

Se quiser pode trocar na instrucao abaixo 15 por 1000 ou

qualquer outo numero - e bom que seja multiplo de 5 senao a ultima

palavra "Joao " vai ficar incompleta

*/

clrscr(); /* limpa a tela antes de comecar os loopings */

for(cont=0;cont<15;cont+=5) /* executa 3 iteracoes - 0 a 14 de 5 em 5 */

{

for (i=0; i<5; i++) /* executa 5 iteracoes - 0 a 4 de 1 em 1 */

{

printf("%05d %c\n",cont+i,str); /* imprime a linha atual */

}

}

}

-Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0

Alguns ajustes e temos um codigo mais genérico:

*****************************************

Compilador Borland - versão 3.1 - 1990


#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <dos.h>
void main(void)
{
    int cont;
    int i;
    char str[6]="Joao ";
  
/* 
Se quiser pode trocar na instrucao abaixo 15 por 1000 ou
qualquer outo numero - numero de repeticoes da palavra "Joao "
scrita verticalmente
*/

    clrscr();                      /* limpa a tela antes de comecar os loopings */
    for(cont=0; cont<15; cont+=strlen(str))          /* executa 3 iteracoes - 0 a 14 de 5 em 5 */
   {
        for (i=0; i<strlen(str)-1; i++)         /* executa 5 iteracoes - 0 a 4 de 1 em 1 */
        {
            printf("%05d  %c\n",cont+i,str[i]);        /* imprime a linha atual */
        }
    }
}

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal , sou eu de novo ,

tive uma duvida no seguinte exercício :

O programa trata do uso de ponteiros

Onde a função stc funciona como strcpy()

Essa rotina funcionou , porem preciso fazer uma função que seja semelhante a função strlen() e strcat()

Obrigado Amigos , e até mais !

#include <stdio.h>

#include <stdlib.h>

void stc(char *destino , char *origem)

{

while(*origem)

{

*destino=*origem;

origem++;

destino++;

}

destino='\0'

}

int main()

{

char str[100],str1[100],str2[200];

printf("Digite uma frase:\n");

gets(str);

stc(str1,str);

stc(str2,"Voce digitou a seguinte frase: ");

printf("\n%s%s\n",str2,str1);

system("Pause");

return 0;

}

Link para o comentário
Compartilhar em outros sites

  • 0

IwannaC, veja aí se resolve.

Se não resolver, posta.



#include <stdio.h>
#include <stdlib.h>

void stc(char *pdestino, char *porigem)
{
  do                           
  {                            
    *pdestino++ = *porigem++;  
  } while(*(porigem-1));       
}                              

// Por que mudei while para do while?
// Porque assim o '\0' entra no looping
// voce economiza uma instrucao.
// Os operadores ++ podem e devem ficar
// na linha em que e feita a atrbuicao,
// porque assim otimizam-se espaco e
// tempo de execucao. Otimiza pouco
// mas não custa nada.

int main()
{
  char str[100],str1[100],str2[200];
  while(1)      //Enquanto verdadeiro.   
  {               //(isso e sempre verdadeiro) 
    printf(  "Para sair pressione  \042<ENTER>\042"
    " sem digitar caractere.\n");
    printf(  "Digite uma frase.............: ");
    gets(str);
    if(str[0]==0) break;   // enter sem digitacao
    stc(str1,str);              // de nenhum chartere: sai.
    stc(str2,"Voce digitou a seguinte frase: ");
    printf("%s%s\n\n",str2,str1);
    system("Pause");
  }
  return 0;
}

/* Tirei os comandos de entrelinha `\n`
   apos os prompts.
   Isso e questao de gosto. Mas
   estatisticamente me parece
   um modo mais frequentemente usado.

   Voce disse que quer que a funcao
   stc funcione como a strcpy.
   A menos das otimizacoes que
   provavelmente foram feitas na strcpy
   a stc esta funcionando como a strcpy.

   Qualquer duvida post ai.
*/

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo wz0d34 , agradeço a atenção quanto a minha duvida sobre uma "réplica" da função strcpy(), até porque tornou minha rotina anterior mais sintética e fácil , mas a dúvida ainda persiste quanto a forma de se fazer funções semelhantes a strlen() e strcat()

Aguardo respostas

Vlw a atenção e flws !

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...