Alguem consegue fazer essa questão?

1. Alguem consegue fazer essa questão?

Jederson Yago
JedersonYago

(usa Ubuntu)

Enviado em 13/03/2018 - 16:32h

Alguem consegue fazer isso para mim?

Crie um programa que leia um número do usuário e faça uso de
dois laços de repetição aninhados e apresente a seguinte saída:
Exemplo para o número 5:

A B C D E
F G H I *
J K L * *
M N * * *
O * * * *


  


2. Re: Alguem consegue fazer essa questão?

LinuxWalker
Delusion

(usa Debian)

Enviado em 13/03/2018 - 16:49h

não filho, você é quem tem de fazer tua lição.


3. Re: Alguem consegue fazer essa questão?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/03/2018 - 19:46h

JedersonYago escreveu:

Alguem consegue fazer isso para mim?

Crie um programa que leia um número do usuário e faça uso de
dois laços de repetição aninhados e apresente a seguinte saída:
Exemplo para o número 5:

A B C D E
F G H I *
J K L * *
M N * * *
O * * * *


Janderson, é bastante intrigante essa questão.....
A saída é essa mesmo?
#A B C D E
#F G H I *
#J K L * *
#M N * * *
#O * * * *
Ainda não cheguei na lógica.... Estou quase...
A parte de suprimir as letras, sem problema...

Marcelo Oliver


4. Re: Alguem consegue fazer essa questão?

Leandro Silva
LSSilva

(usa Outra)

Enviado em 18/03/2018 - 00:28h

Você não falou se tinha que parar se chegasse a algum caractere e a linguagem, se puder fazer em C e caso não tenha que parar em caractere específico, essa gambiarra aqui talvez sirva:


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

void main(){

int casetest,asteriscos,i,j,k,initialCasetest;
char carac = 'A';

scanf("%d",&casetest);
initialCasetest = casetest;

//Lacos
for (i=0; i<initialCasetest; i++){

casetest--;

for (j=0; j<=casetest; j++){
printf ("%c ",carac);
carac++;
}

for (k = 0; k < asteriscos ; k++){
printf("*");
}

//Salta linha
printf("\n");
asteriscos++;
}


}


Eu usei um "for" a mais, mais já dá uma luz aí. Aguardando o MSOLIVER para ver como fica. :)


5. Re: Alguem consegue fazer essa questão?

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/03/2018 - 00:34h

JedersonYago escreveu:

Alguem consegue fazer isso para mim?

Crie um programa que leia um número do usuário e faça uso de
dois laços de repetição aninhados e apresente a seguinte saída:
Exemplo para o número 5:

A B C D E
F G H I *
J K L * *
M N * * *
O * * * *


preguiça é um dos pecados capitais, viu?



6. Re: Alguem consegue fazer essa questão?

Fernando
phoemur

(usa Debian)

Enviado em 18/03/2018 - 10:30h


#include <stdio.h>
#include <assert.h>

int main()
{
char c = 'A';
int sz=-1;

printf("Digite tamanho da linha: \n");
scanf("%d",&sz);

assert(sz > 0 && sz <= 10); // Negative values and input > 10 result in bogus chars to print

for (int i=0, ltr_size = sz; i<sz; ++i, --ltr_size) {
for (int j=0; j<sz; ++j) {
if (j < ltr_size) printf("%c ", c++);
else printf("* ");
}
printf("\n");
}

return 0;
}





7. Re: Alguem consegue fazer essa questão?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 21/03/2018 - 19:32h

Boa noite Jederson.
Segue:
#!/bin/bash
ltr=$(echo {A..Z}|sed 's/ //g')

EXECUTA() {
Cnt=0;
for ((N=$1;N>0;N--));do
((N==$1)) && { SAIDA=0;NA=$N; } || { SAIDA=$((SAIDA+NA));NA=$N; }
Cnt=$((Cnt+1))
RESP=$(echo ${ltr:$SAIDA:$N})
while (( ${#RESP} < $1 ));do
RESP=$(sed 's/$/*/' <<< "$RESP")
done
sed 's/./ &/g' <<< "$RESP"
done
}

if (($1 < 3));then
echo -e "ARGUMENTO INVáLIDO.\nDeve ser maior que 2."
exit
else
EXECUTA $1
echo
fi

./LACOS_Final.sh 6
A B C D E F
G H I J K *
L M N O * *
P Q R * * *
S T * * * *
U * * * * *

Att.:
Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts